AB包是什麼:特定于平台的資産壓縮包,有點類似壓縮檔案
資産:模型、貼圖、預設體、音效、材質球等。(唯獨不能把C#代碼打包進去)是以熱更新使用lua。
AB包作用:相對Resources下的資源AB包更好管理資源、減小包體大小、熱更新
Resources打包時,會将所有的東西都壓縮打包,不管東西有沒有用。而且無法除了Resources.load之外去引用它。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL5MGOkV2YjJGO5UWNlFTZ4MTNyQDZ0EGMygTZlRDMhFzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
AB包可以壓縮資源、減少初始包大小。例如進遊戲後再下載下傳其他的資料。
熱更新:
常見 面試題:
1、請寫出熱更新的概念是什麼?Unity中熱更新的流程是什麼?
概念:指不需要重新下載下傳遊戲用戶端,在遊戲内部進行即時更新
為什麼要用熱更新:
1.防止使用者流失;每次更新如果下載下傳龐大的用戶端安裝包,容易導緻使用者流失
2.微端;可以讓初始安裝包極小,進了遊戲再更新遊戲内容
3.可以做到“狸貓換太子”;先下個羊,進了遊戲再變成狼
流程(每次進遊戲都會走):
1.版本号比較,如果版本号不同才繼續下面的流程(可選,也可以直接下載下傳)
2.下載下傳對比檔案,下載下傳資源伺服器上的的對比檔案
3.對比,用下載下傳的檔案和本地檔案對比,記錄改變的和新增的
4.下載下傳資源,下載下傳剛才記錄的檔案——一般放在Application.persistentDataPath
5.解壓(可選)——如果檔案是壓縮過的,要先解壓
6.覆寫本地對比檔案;保證下載下傳成功後 将下載下傳的對比檔案 覆寫本地的
對比檔案常用技術
MD5碼對比
2、AB包資源加載和Resources資源加載有什麼差別?
1.API不同
2.Resources加載的資源 一定得放在Resources檔案夾下
AB包理論上來說放在任何地方都可以 但一般都放在Application.streamingAssetsPath或Application.persistentDataPath
3.AB包中是資源集合,Resources下都是單個資源
3、AB包對于我們來說有什麼作用?
減少包體大小:因為打AB可以選擇壓縮,壓縮後可以有效減少包體大小
Unity中熱更新的基礎:我們會把資源、Lua腳本打包成AB包,用于熱更新