[Unity] AssetBundles打包後資源加載速度慢

記一次打包異常,資源加載速度過慢- -

打包設置爲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 noCompress '' will trivially disable compression for all files.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章