包含持久数据目录的路径(只读)。
此值是一个目录路径,您可以存储想要在运行之间保留的数据。当您在 iOS 和 Android 上发布时,persistentDataPath
指向设备上的公共目录。这些文件只能被用户直接删除,而不能被任何应用程序更新。注意:不同的斜杠表示根据 Path.DirectorySeparatorChar 的不同操作系统。
当您构建 Unity 应用程序时,会生成一个基于捆绑标识符的 GUID。此 GUID 是 persistentDataPath
的一部分。如果您在未来版本中保留相同的捆绑标识符,应用程序将在每次更新时继续访问同一位置。
UWP 应用程序:Application.persistentDataPath 指向 C:\Users\<user>\AppData\LocalLow\<company name>
。
Windows 编辑器和 Windows 播放器:Application.persistentDataPath 通常指向 %userprofile%\AppData\LocalLow\<companyname>\<productname>
。它由 SHGetKnownFolderPath 使用 FOLDERID_LocalAppDataLow 解析,或 SHGetFolderPathW 使用 CSIDL_LOCAL_APPDATA(如果前者不可用)。
WebGL:Application.persistentDataPath 指向 /idbfs/<md5 hash of data path>
,其中数据路径是剥离了包括最后一个 '/' 以及之后所有内容的 URL,在任何 '?' 组件之前。
Linux:Application.persistentDataPath 指向 $XDG_CONFIG_HOME/unity3d
或 $HOME/.config/unity3d
。
iOS:Application.persistentDataPath 指向 /var/mobile/Containers/Data/Application/<guid>/Documents
。
tvOS:不支持 Application.persistentDataPath,它返回空字符串。
Android:Application.persistentDataPath 指向大多数设备上的 /storage/emulated/<userid>/Android/data/<packagename>/files
(一些旧手机可能指向 SD 卡上的位置,如果存在),该路径使用 android.content.Context.getExternalFilesDir 解析。
Mac:Application.persistentDataPath 指向用户库文件夹(此文件夹通常隐藏)。在最近的 Unity 版本中,用户数据写入 ~/Library/Application Support/company name/product name
。旧版本的 Unity 写入 ~/Library/Caches
文件夹,或 ~/Library/Application Support/unity.company name.product name
。这些文件夹都由 Unity 搜索。应用程序找到并使用系统上具有所需数据的最旧文件夹。
using UnityEngine;
public class Info : MonoBehaviour { void Start() { Debug.Log(Application.persistentDataPath); } }