Unity各个平台的资源路径使用汇总

Unity软件为程序提供了很多资源管理路径,这些资源管理路径各有不同。使用的用途不同,可访问性不同,访问的方法也不同。

有些时候相同的资源存储路径,在不同平台下访问方式也不一样。

下面总结常用的资源存储路径,便于查阅。

路径名称 含义 用途 注意要点
Resources路径 Unity内部路径,Resources文件夹,可以是Assets目录下的子目录或者是孙目录,其特点是只能读不能写,不管该文件夹下放了什么类型的资源,都统统会打包到程序里。

(1)整个程序周期中都会使用到的资源;

(2)一些使用预制体保存的MonoBehaviour单例或者其他配置的脚本资源;

(1)应当严格控制Resources文件夹下面的资源,因为该文件夹下不论什么资源都会打包进去,虽然有压缩处理,但仍然会增加程序内存占用和打包包体大小;
Application.dataPath路径 Unity的资源路径,在Editor模式下是Assets路径的子目录,其特点是可以自由读写。 (1)在Windows平台下的资源读写路径,本人认为这个路径一般用于开发阶段,成品之后把资源存储在这个路径下是不安全的; (1)只能用于Windows模式或者Editor模式;
Application.streamingAssetsPath路径 工程Assets目录下的StreamingAssets文件夹。

(1)用于读写数据;

(2)用于返回流数据的缓存目录,返回路径为相对路径,适合设置一些外部数据文件的路径。

(1)在打包时资源会原封不动地打包进去,不会压缩,一般放置资源数据;

(2)在PC/Mac中可实现对文件的“增删改查”等操作,但在移动端是一个只读路径。

(3)在打包时不会被压缩,读取速度很快,但是需要加密预防别人解压破解。

(4)一般在这个文件夹里面存放一些二进制文件(比如AssetBundle,mp4等一些文件)。

(5)在Android端读取这个文件夹时,只能使用WWW进行异步读取,而在ios和pc上则可以使用File类及其他同步读取方式。

Application.persistendDataPath路径 一个持久化数据存储目录的路径。

(1)用于存储一些持久化数据文件;

(2)在这个路径写入一些获得的文件,比如可以从StreamingAsset中读取的二进制文件或者从AssetBundle读取的文件;

(1)这个路径可读可写,但只能在程序运行的时候才能读写操作,不能提前将数据放入这个路径;

(2)在IOS上是应用沙盒,可以被iCloud自动备份,可以通过同步推送一类的助手直接取出文件;

(3)在Android上的位置是根据Project Setting里设置的Write Access路径,可以设置是程序沙盒还是sdcard(如果在Android设置保存在沙盒中,那么就必须root以后才能用电脑取出文件,因此建议写在sdcard里);

(4)在Android端读取这个文件夹时,只能使用WWW进行异步读取,而在ios和pc上则可以使用File类及其他同步读取方式。

(5)可以将需要热更的文件放在里面(将一些文件放在Application.streamingAssetsPath,在运行后再将Application.streamingAssetsPath里面的文件移动到Application.persistentDataPath下,再进行热更。也可以完全从服务器上下载后存放在Application.persistentDataPath。)

Application.temporaryCachePath路径 一个临时数据的缓存目录。 (1)跟Application.persistentDataPath类似; (1)IOS上不能被自动备份。

        常用路径的加载方式:

Resources路径
Android平台\Windows平台\Ios平台

待更新……


【转载请注明出处】
 

你可能感兴趣的:(Unity资源管理,android,unity3d)