版本: Unity 6 (6000.0)
语言英语
  • C#

Application.persistentDataPath

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们不能接受所有提交内容,但我们会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

public static string persistentDataPath;

描述

包含持久数据目录的路径(只读)。

此值是一个目录路径,您可以存储想要在运行之间保留的数据。当您在 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(如果前者不可用)。

WebGLApplication.persistentDataPath 指向 /idbfs/<md5 hash of data path>,其中数据路径是剥离了包括最后一个 '/' 以及之后所有内容的 URL,在任何 '?' 组件之前。

LinuxApplication.persistentDataPath 指向 $XDG_CONFIG_HOME/unity3d$HOME/.config/unity3d

iOSApplication.persistentDataPath 指向 /var/mobile/Containers/Data/Application/<guid>/Documents

tvOS:不支持 Application.persistentDataPath,它返回空字符串。

AndroidApplication.persistentDataPath 指向大多数设备上的 /storage/emulated/<userid>/Android/data/<packagename>/files(一些旧手机可能指向 SD 卡上的位置,如果存在),该路径使用 android.content.Context.getExternalFilesDir 解析。

MacApplication.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); } }