AssetBundle使用,卸載,校驗
使用AssetBundle的四種方法:
AssetBundle.LoadFromMemoryAsync
AssetBundle.LoadFromFile
WWW.LoadFromCacheOrDownload
UnityWebRequest
從AssetBundle上加載資源的格式:
一般情況
T objectFromBundle = bundleObject.LoadAsset
1
2
3
4
所有資源
Unity.Object[] objectArray = loadedAssetBundle.LoadAllAssets();
1
加載Manifests文件可以處理資源的依賴
AssetBundle assetBundle = AssetBundle.LoadFromFile(manifestFilePath); AssetBundleManifest manifest = assetBundle.LoadAsset
1
2
3
4
5
6
7
8
9
10
11
卸載有兩個方面
減少內存使用
有可能導致丟失
所以什么時候去卸載資源AssetBundle.Unload(true);卸載所有資源,即使有資源被使用著
(1,在關卡切換、場景切換 ; 2,資源沒被用的時候 調用)AssetBundle.Unload(false); 卸載所有沒用被使用的資源
個別資源怎么卸載(個別指:使用Unload(false)卸載時未卸載且現在腳本場景中沒有使用的資源)
1)通過 Resources.UnloadUnusedAssets
2)場景切換的時候
關于文件校驗:
CRC MD5 SHA1
相同點:
CRC、MD5、SHA1都是通過對數據進行計算,來生成一個校驗值,該校驗值用來校驗數據的完整性。
不同點:
算法不同。CRC采用多項式除法,MD5和SHA1使用的是替換、輪轉等方法;
校驗值的長度不同。CRC校驗位的長度跟其多項式有關系,一般為16位或32位;MD5是16個字節(128位);SHA1是20個字節(160位);
校驗值的稱呼不同。CRC一般叫做CRC值;MD5和SHA1一般叫做哈希值(Hash)或散列值;
安全性不同。這里的安全性是指檢錯的能力,即數據的錯誤能通過校驗位檢測出來。CRC的安全性跟多項式有很大關系,相對于MD5和SHA1要弱很多;MD5的安全性很高,不過大概在04年的時候被山東大學的王小云破解了;SHA1的安全性最高。
效率不同,CRC的計算效率很高;MD5和SHA1比較慢
用途不同。CRC一般用作通信數據的校驗;MD5和SHA1用于安全(Security)領域,比如文件校驗、數字簽名等。
其他問題:
依賴包重復問題
把需要共享的資源打包到一起
分割包,這些包不是在同一時間使用的
把共享部分打包成一個單獨的包
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。