Unity 各平台Application.xxxPath的路径

Unity常用四个路径路径

Application.dataPath
Application.streamingAssetsPath
Application.persistentDataPath
Application.temporaryCachePath

Windows

Application.dataPath
路径一直到工程目录下Assets文件夹
举例:F:/UnityWork/TestAssetBundle/Assets
Application.streamingAssetsPath
路径一直到工程目录下Assets文件夹中的StreamingAssets文件夹
举例:F:/UnityWork/TestAssetBundle/Assets/StreamingAssets
Application.persistentDataPath
持久数据文件夹
举例:C:/Users/dell/AppData/LocalLow/DefaultCompany/TestAssetBundle
Application.temporaryCachePath
临时缓存文件夹
举例:C:/Users/dell/AppData/Local/Temp/DefaultCompany/TestAssetBundle

IOS

iOS和Mac OS X不同于Windows,app都是在一个沙盒空间中运行,每个app也有一个独立的数据存储空间,各app彼此不能互相访问、打扰。
app的独立数据存储目录下有三个文件夹:Documents,Library和tmp。

Application.dataPath
路径:/var/containers/Bundle/Application/app sandbox/xxx.app/Data  
dataPath是app程序包安装路径,app本身就在这里,此目录是只读的
Application.streamingAssetsPath
路径:/var/containers/Bundle/Application/app sandbox/test.app/Data/Raw  
streamingAssetsPath是dataPath下的Raw目录。
Application.persistentDataPath
路径:/var/mobile/Containers/Data/Application/app sandbox/Library/Caches 
Documents目录,这个目录用于存储需要长期保存的数据,比如我们的热更新内容就写在这里。
需要注意的是,iCloud会自动备份此目录,如果此目录下写入的内容较多,审核的可能会被苹果拒掉。
Application.temporaryCachePath
路径:/var/mobile/Containers/Data/Application/app sandbox/Documents 
Library目录,这个目录下有两个子目录,Caches和Preferences。 
Caches:是一个相对临时的目录,适合存放下载缓存的临时文件,空间不足时可能会被  系统清除,Application.temporaryCachePath返回的就是此路径。我把热更新的临时文件    写在这里,等一个版本的所有内容更新完全后,再把内容转移到Documents目录。 
Preferences:用于应用存储偏好设置,用NSUserDefaults读取或设置。

注意
tmp目录,临时目录,存放应用运行时临时使用的数据。
需要注意的是,以上无论临时、缓存或者普通目录,如果不需要的数据,都请删除。不要占用用户的存储空间,像微信就是坏榜样。

下面是各路径对应的OC访问方法
app安装路径:
[[NSBundle mainBundle] resourcePath]

app数据沙盒存储根目录:
NSHomeDirectory()

Documents:
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)

Library:
NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)

Caches:
NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)
Tmp:
NSTemporaryDirectory()

Android

Application.dataPath
路径:/data/app/package name-1/base.apk 
apk程序包目录:apk的安装路径,/data/app/package name-n/base.apk,
dataPath就是返回此目录。
Application.streamingAssetsPath
路径: jar:file:///data/app/package name-1/base.apk!/assets 
内部存储目录: /data/data/package name-n/,用户自己或其它app都不能访问该目录。

打开会发现里面有4个目录(需要root) 
Cache:缓存目录,类似于iOS的Cache目录 ,热更新临时文件在此目录
Databases:数据库文件目录 
Files:类似于iOS的Documents目录 ,热更新在此目录
shared_prefs:类似于iOS的Preferences目录,用于存放常用设置,比如Unity3D的PlayerPrefs就存放于此
Application.persistentDataPath
路径:/storage/emulated/0/Android/data/package name/files
类似于iOS的Documents目录
Application.temporaryCachePath
路径:/storage/emulated/0/Android/data/package name/cache 
缓存目录,类似于iOS的Cache目录 ,热更新临时文件在此目录
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值