記一次打包異常,資源加載速度過慢- -
打包設置爲gradle時發現進遊戲loading時間賊長,後查找發現似乎AssetBundles都被安卓aapt工具給壓縮了。loading時似乎在解壓,所以佔用了很長的時間。選擇internal就沒有這個問題了。
如果必須要設置打包方式爲gradle,可以將AssetBundles包手動加上一個自定義後綴名。然後在Assets\Plugins\Android\mainTemplate.gradle文件中這行,加上自定義的後綴名,noCompress爲不壓縮的意思。
aaptOptions {
noCompress '.unity3d', '.ress', '.resource', '.obb'
}
其實這行默認的是這樣的:
aaptOptions {
noCompress '.unity3d', '.ress', '.resource', '.obb'**STREAMING_ASSETS**
}
但是如果打包異常,可以選擇刪掉'**STREAMING_ASSETS**',因爲這個不壓縮文件數量似乎是有一個255的限制,超過的話會導致打包異常。
-----------------------------------------------------------------分割線-----------------------------------------------------------------
剛翻了出去上谷歌看了下官方文檔說明然後嘗試了一波,沒有後綴名的AssetBundles直接在noCompress裏寫上文件名也行,例如:
aaptOptions {
noCompress '.unity3d', '.ress', '.resource', '.obb','aaa','bbb','ccc'
}
這樣AssetBundles 'aaa','bbb','ccc' 也不會被壓縮,loading速度也可以保持正常水平。
猜測unity或者Android是通過endwith方式查找指定文件然後選擇是否壓縮,猜測0.0。(注意aaptOptions 裏面參數似乎得小寫,他似乎是區分大小寫的)
這是官方文檔關於aaptOptions 的說明:
noCompress |
Extensions of files that will not be stored compressed in the APK. Adding an empty extension, i.e., setting |