Unity存储数据的各种路径

Application.dataPath

用途:Editor插件中用来读取本地文件

Editor

权限:可读写
/Assets

Android

权限:不可读写
/data/app/com.company.app/base.apk
or
/data/obb/xx.obb
指向此apk文件,也有可能指向obb文件。

iOS

//Data
权限:可读不可写

Application.streamingAssetsPath

作用:此目录下的资源不会被Unity压缩,所以可以存储原始文件(视频等),AssetBundle

Editor:

权限:读写
/Assets/StreamingAssets
相当于
Application.dataPath+”/StreamingAssets”

Android:

权限:只读
jar:file:// + Application.dataPath + “!/assets”

Example:
jar:file:///data/app/com.company.app/base.apk!/assets

安卓中的资源是存储在APK压缩文件中的,所以不能通过System.IO来操作,只能通过www来进行读操作。
但可以使用第三方的压缩与解压缩库实现读写操作.比如SharpZipLib库,读取压缩包中的文件,添加或都重写压缩包

iOS:

权限:读写
Application.dataPath + “/Raw”

Application.persistentDataPath

作用:因为app升级不会导致此数据丢失,所以可以用来存储数据数据,在iOS平台可以被iCloud自动备份
权限:全平台读写

Editor:

C:/users/Administrator/AppData/LocalLow/
or
/Users/username/Library/Application Support/

Android

/storage/emulated/0/Android/data/com.company.product/files

iOS

/Documents

Application.temporaryCachePath

作用:存储临时数据,缓存数据
权限:全平台读写

Editor

/var/folders/xx/xx/xx/company/product
c:/Users/Administrator/AppData/Local/Temp/company/product

Android

/storage/emulated/0/Android/data/com.company.product/cache

iOS

/Library/Caches

Resource

作用:存储在此目录下的资源会被压缩,全部被打入最终包。其中的资源只能通过Resource.Load来加载

URL路径

file:// + Path
安卓平台下的Application.streamingAssetsPath已经是url路径了,所以不用再加

参考自 http://blog.csdn.net/hiramtan/article/details/49765171

你可能感兴趣的:(Unity3D)