Unity AB包資源排查

原因說明:

游戲中資源全部打包ab包進行加載。由于對ab包相應(yīng)規(guī)則理解不正確,可能會導(dǎo)致資源重復(fù)被打包蝶溶。下面介紹下我的排查思路。

資源重復(fù)的主要原因 :當ab包打包時,發(fā)現(xiàn)依賴資源不再自己的ab包中或者不再其他ab包中抖所,就會復(fù)制一份資源到自己的ab包中梨州。

其他原因

  1. 游戲資源被內(nèi)嵌到包體中了(一般是Resources文件夾中的資源和依賴資源)
  2. Graphics設(shè)置中添加了額外的shader。(這里的shader的一定會被嵌入到包體內(nèi)田轧,可以使用Shader.Find調(diào)用)暴匠,添加到這里會把所有變體編譯,被坑過
image.png

1. 準備工作:

1.1 準備好apk/ipa

下載游戲的apk包(ipa一樣的)傻粘,將后綴改成zip每窖,解壓到文件夾下面。

image.png

1.2 下載資源解析工具:

https://www.perfare.net/1194.html

1.3 解析資源

解析解壓的文件抹腿,我們就可以apk中所有的資源了:

image.png
image.png
 資源解析后如下圖:
image.png

2. 具體說明

2.1 最多的坑 standard shader (AB包 standard 清理)

解析資源后會發(fā)現(xiàn)有很多重復(fù)的standard shader岛请,但是項目中使用的shader都是我們自己寫的,根本不會使用系統(tǒng)自帶的警绩。最后發(fā)現(xiàn)是模型引入的問題崇败。 當模型Materials設(shè)置如下兩張圖的時候,都會講默認的standard打入到ab包中肩祥。

圖一:

image.png

圖二:

image.png

解決方案:

  1. 引入的時候指定具體的材質(zhì)球和shader (建議使用該方案)
image.png
  1. 創(chuàng)建一個我們自己使用的材質(zhì)后室,給引入的模型
image.png
  1. 提取需要使用的資源(如:mesh,動作等)后,刪除fbx

2.2 RawImage組件 或 類似組件的問題

項目使用Packing Tag來組織圖集(如圖一)混狠,RawImage可以直接用原始圖賦值(如圖二)岸霹,但打AB包的時候會復(fù)制一張圖片(如圖三)。

圖一:

image.png

圖二:會生成二外的Texture

image.png

圖三:生成了額外的Texture

image.png

3.其他簡單說明

3.1 使用unity默認shader将饺,導(dǎo)致大量的重復(fù)shader

如下圖:

image.png

解決方案:

  1. 禁止使用系統(tǒng)默認的shader贡避,自己實現(xiàn)相應(yīng)功能的shader,將shader文件放在同一AB包中予弧。

3.2 圖集的結(jié)構(gòu)問題

同一圖集的圖片刮吧,放在不同的AB包結(jié)構(gòu)下,會導(dǎo)致圖集在不同的AB包中都存在掖蛤。對內(nèi)存和包體影響會比較大杀捻。

3.3 其他遇見的問題

  1. shader的變體問題: 盡量減少變體,使用Shader Variants Collection進行控制蚓庭,使用代碼預(yù)加載Shader Variants Collection致讥。 不要將Shader Variants Collection放到Graphics設(shè)置中,對AB處理沒有作用器赞。對Shader.Find方法有作用垢袱。
  2. 材質(zhì)球盡量和預(yù)設(shè)放在一個AB包里面。 出現(xiàn)過不放在一起港柜,變體沒有生效的問題请契。
  3. AB包最好不要超過2M,協(xié)程加載時在一些機器上可能會出現(xiàn)卡頓。
  4. AB包中的shader要按資源加載的方式處理姚糊,不能使用Shader.Find()贿衍。
  5. 美術(shù)對sprite怎么生成圖不理解,導(dǎo)致特效制作時容易出問題救恨。
  6. 圖片壓縮格式不正確贸辈,會導(dǎo)致占用額外的內(nèi)存。建議android盡量使用ETC格式
  7. 美術(shù)字體問題肠槽,美術(shù)字體使用的Texture擎淤,設(shè)置成sprite導(dǎo)致了在圖集中也會存在。

說明:以上觀點僅是本人自己的觀點秸仙,如有問題請聯(lián)系我嘴拢,我會及時更正。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寂纪,一起剝皮案震驚了整個濱河市席吴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捞蛋,老刑警劉巖孝冒,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拟杉,居然都是意外死亡庄涡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門搬设,熙熙樓的掌柜王于貴愁眉苦臉地迎上來穴店,“玉大人,你說我怎么就攤上這事拿穴∑矗” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵贞言,是天一觀的道長斜棚。 經(jīng)常有香客問我阀蒂,道長该窗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任蚤霞,我火速辦了婚禮酗失,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昧绣。我一直安慰自己规肴,他們只是感情好,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拖刃,像睡著了一般删壮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上兑牡,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天央碟,我揣著相機與錄音,去河邊找鬼均函。 笑死亿虽,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的苞也。 我是一名探鬼主播洛勉,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼如迟!你這毒婦竟也來了收毫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤殷勘,失蹤者是張志新(化名)和其女友劉穎牛哺,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體劳吠,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡引润,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了痒玩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淳附。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蠢古,靈堂內(nèi)的尸體忽然破棺而出奴曙,到底是詐尸還是另有隱情,我是刑警寧澤草讶,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布洽糟,位于F島的核電站,受9級特大地震影響堕战,放射性物質(zhì)發(fā)生泄漏坤溃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一嘱丢、第九天 我趴在偏房一處隱蔽的房頂上張望薪介。 院中可真熱鬧,春花似錦越驻、人聲如沸汁政。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽记劈。三九已至勺鸦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間目木,已是汗流浹背祝旷。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嘶窄,地道東北人怀跛。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像柄冲,于是被迫代替她去往敵國和親吻谋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345