減小包大小不僅可以使縮短用戶(hù)下載時(shí)間,還可以節(jié)省流量,同時(shí)AppStore對(duì)包大小也有限制。
排查Resources目錄
Resources目錄中的所有資源,不管有沒(méi)有被引用,都會(huì)被打進(jìn)最終的包中。所以是重點(diǎn)優(yōu)化目錄。
壓縮貼圖
貼圖是最占資空間的,非透明貼圖比透明貼圖更節(jié)省空間。除此之外,貼圖的文件格式是不會(huì)影響最終包大小的,因?yàn)闊o(wú)論哪種圖片格式,最終都會(huì)被Unity轉(zhuǎn)成平臺(tái)相關(guān)的貼圖。所以把項(xiàng)目中的psd圖片轉(zhuǎn)成png是沒(méi)有必要的。
最有效的方法是在Unity中設(shè)置圖片的壓縮程度,以及最大尺寸,調(diào)整到再降低畫(huà)質(zhì)就會(huì)被嚴(yán)重影響為止。
壓縮模型
模型文件通常也比較占資源,最方便的方法就是在Unity中設(shè)置其壓縮程度。
需要注意的是,這里設(shè)置壓縮,只能減少本地模型文件的大小,但其在內(nèi)存中占的大小并不會(huì)減少。

壓縮動(dòng)畫(huà)
AnimationClip也可以被壓縮,而壓縮后不僅本地文件變小,同時(shí)內(nèi)存占用量也會(huì)減少。由于壓縮減少了關(guān)鍵幀,所以可能會(huì)導(dǎo)致動(dòng)作形變等問(wèn)題。
音頻格式
小而短的音效,使用wav存儲(chǔ);背景音樂(lè)等比較長(zhǎng)的,使用mp3存儲(chǔ)。
同時(shí)音效文件,可以通過(guò)調(diào)整Quality,來(lái)減少大小。
代碼庫(kù)文件
避免使用一些重型的庫(kù),比如System.xml??梢允褂肕ono.Xml代替。
使用.Net 2.0 Subset
Net 2.0 Subset比.Net 2.0精簡(jiǎn)了不少代碼,打APK對(duì)比,可以減少0.9M。

運(yùn)行時(shí)靜態(tài)合拼
如果在Editor中進(jìn)行勾選,則會(huì)在項(xiàng)目中生成一個(gè)較大的VBO,Runtime時(shí)通過(guò)該VBO來(lái)進(jìn)行渲染,優(yōu)點(diǎn)是有效減少了Draw Call,缺點(diǎn)是增大了發(fā)布游戲包的體積。
如果在Runtime通過(guò)腳本來(lái)進(jìn)行Batching,則相當(dāng)于把拼合的時(shí)間由Editor中搬到了Runtime,所以加載時(shí)間(一般在場(chǎng)景加載時(shí)執(zhí)行Batching)會(huì)稍有增加,但游戲包的體積將相應(yīng)減少。
https://docs.unity3d.com/560/Documentation/Manual/ReducingFilesize.html