项目中的资源通常咱们打包成AssetBundle格式app
方便咱们加载和热更eclipse
而AssetBundle文件 通常保存在StreamingAssets文件夹或PersistentData文件夹异步
首先咱们看这两个文件夹有什么区别测试
StreamingAssets |
可读取、不可写入 |
工程Assets根目录下StreamingAssets文件夹 |
PersistentData |
可读取、可写入 |
沙盒目录,应用程序安装运行后才会出现 |
综合上面的区别咱们能够总结code
*StreamingAssets 不能写入 随包发包 适合存放一些初始化的AssetBundle资源 如 登入页 加载页等ip
*PersistentData 适合存放 运行程序下载的AssetBundle资源资源
而后咱们看下这两个文件夹在 各平台 运行时 打印的 路径地址:同步
StreamingAssets | |
WindowsEditor | C:/Users/zq/Desktop/Test/Assets/StreamingAssets(工程目录/Assets/StreamingAssets) |
OSXEditor | /Users/zouqiang/Desktop/Test/Assets/StreamingAssets(工程目录/Assets/StreamingAssets) |
Android | jar:file:///data/app/com.Company.Test-1.apk!/assets(安装目录/assets) |
IPhonePlayer | /var/containers/Bundle/Application/5C9D81B5-2A21-45BC-B6DC-12B704976D22/Test.app/Data/Raw |
PersistentData | |
WindowsEditor | C:/Users/zq/AppData/LocalLow/DefaultCompany/Test |
OSXEditor | /Users/zouqiang/Library/Application Support/DefaultCompany/Test |
Android | /storage/emulated/0/Android/data/com.Company.Test/files |
IPhonePlayer | /var/mobile/Containers/Data/Application/F96BACED-63D5-45AE-B2A7-738A87545A8F/Documents |
StreamingAssets 在各工程路径(资源更新可直接替换对应的文件 实现快速打包或测试)it
Unity | C:\Users\zq\Desktop\Test\Assets\StreamingAssets |
Eclipse | C:\Users\zq\Desktop\eclipse\Test\assets |
Xcode | C:\Users\zq\Desktop\eclipse\Test\assets |
在使用
AssetBundle.LoadFromFile 同步加载
AssetBundle.LoadFromFileAsync 异步加载
StreamingAssets文件夹里面的AssetBundle
要注意
Android 得到去方式为 Application.dataPath + "!assets"
其余平台 获取的方式为 Application.streamingAssetsPath
使用
WWW 异步加载
加载StreamingAssets文件夹里面的AssetBundle
要注意
Android 得到去方式为 Application.streamingAssetsPath
其余平台 获取的方式为 "file://" + Application.streamingAssetsPath
PersistentData文件夹 获取的方式都为 Application.persistentDataPath