iOS 安裝包大小如何優(yōu)化

1、配置編譯選項(xiàng)build setting- (Levels 選項(xiàng)內(nèi))Generate Debug Symbols 設(shè)置為 NO

這個(gè)配置選項(xiàng)應(yīng)該會(huì)讓你減去小半的體積。注意這個(gè)如果設(shè)置成 NO 就不會(huì)在斷點(diǎn)處停下

2、舍棄架構(gòu) armv7

armv7 用于支持 4s 和 4,4s 是 2011 年 11 月正式上線,雖然還有小部分人在使用,但是追求包體大小的完全可以舍棄了。

3、去除無(wú)用的三方庫(kù)、代碼、readme
4、圖片處理圖片是安裝包里占用空間最大的東西,我的項(xiàng)目中占用了一半的體積。

**用 imageoptim 壓縮圖片的大小
**一些比較大體積的背景圖片壓縮成.jpg 格式的。
**用 LSUnusedResource 這個(gè)軟件查找項(xiàng)目中沒(méi)有用到的圖片,然后刪除,當(dāng)然不一定特別準(zhǔn)確,有一些[UIImage imageNamed:[NSString stringWithFormat:@"icon_%d",index]]這樣使用的圖片也會(huì)被列在未使用圖片中。
**使用 Assets.xcassets 來(lái)管理圖片也可以減小安裝包的體積

5、build setting 里 DEAD_CODE_STRIPPING = YES(好像默認(rèn)就是 YES)

確定 dead code(代碼被定義但從未被調(diào)用)被剝離,去掉冗余 的代碼,即使一點(diǎn)冗余代碼,編譯后體積也是很可觀的。

6、編譯器優(yōu)化級(jí)別 Build Settings->Optimization Level 有幾個(gè)編譯優(yōu)化選項(xiàng),release 版應(yīng)該選擇 Fastest, Smalllest[-Os]

這個(gè)選項(xiàng)會(huì)開啟那些不增 加代碼大小的全部?jī)?yōu)化,并讓可執(zhí)行文件盡可能小。

7、去除符號(hào)信息 Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在 release 版本應(yīng)該設(shè)為 yes

可以去除不必要的調(diào)試符號(hào)。 Symbols Hidden by Default 會(huì)把所有符號(hào)都定義成”private extern”,設(shè)了后會(huì)減小體積。

8、Strip Linked Product:DEBUG 下設(shè)為 NO,RELEASE 下設(shè)為 YES,用于 RELEASE 模式下縮減 app 的大小; 2018.7.17 新增
9、編譯器優(yōu)化,去掉異常支持

Enable C++ Exceptions、Enable Objective-C Exceptions 設(shè)置為 NO,Other C Flags 添加-fno-exceptions Enable C++ Exceptions Enable Objective-C Exceptions Other C Flags 添加-fno-exceptions

10、利用 AppCode 檢測(cè)未使用的代碼:菜單欄 ->Code->InspectCode

最后要說(shuō):xcode BulidSetting 中的設(shè)置都可以區(qū)分 debug 和 release,如果覺 得在開發(fā)的時(shí)候還想用到這些,就把 debug 和 release 分開設(shè)置就可以了

簡(jiǎn)單幾步包大小由9.6MB縮小到7.1MB

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容