摘要:以下列出了安裝包瘦身的無腦執(zhí)行流程桨嫁,其中“奇技淫巧”部分為選做題 資源優(yōu)化 刪除無用圖片 使用LSUnusedResources查找無用圖片 刪除重復(fù)資源 壓縮圖片資源 使用ImageOptim無損壓縮圖片 使用TinyPNG有損壓縮圖片 TinyPNG非常好用強(qiáng)烈推薦 使用的時候直接執(zhí)行 tinypng *.
以下列出了安裝包瘦身的無腦執(zhí)行流程就珠,其中“奇技淫巧”部分為選做題
資源優(yōu)化
刪除無用圖片
使用LSUnusedResources查找無用圖片
刪除重復(fù)資源
壓縮圖片資源
使用ImageOptim無損壓縮圖片
使用TinyPNG有損壓縮圖片
TinyPNG非常好用強(qiáng)烈推薦
使用的時候直接執(zhí)行tinypng *.png -k token腳本即可
奇技淫巧
用LaunchScreen.storyboard替換啟動圖片
本地大圖片都使用webp
資源按需加載暴氏,非必要資源都等到使用時再從服務(wù)端拉取
編譯選項(xiàng)優(yōu)化
Optimization Level在release狀態(tài)設(shè)置為Fastest,Smallest
Strip Debug Symbols During Copy在release狀態(tài)設(shè)置為YES
Strip Linked Product在release狀態(tài)設(shè)為YES
Make String Read-Only在release狀態(tài)設(shè)為YES
Dead Code Stripping在release狀態(tài)設(shè)為YES
Deployment PostProcessing在release狀態(tài)設(shè)為YES
Symbols hidden by default在release狀態(tài)設(shè)為YES
可執(zhí)行文件優(yōu)化
使用LinkMap分析庫的使用情況
三方庫優(yōu)化
刪除不使用的三方庫
功能用的少但是體積大的三方庫可以考慮自己重寫
合并功能重復(fù)的三方庫
代碼分析
用AppCode進(jìn)行代碼掃描
去掉無用的類及文件
清理import
去掉空方法
去掉無用的log
去掉無用的變量
反正把能去掉的都去掉
奇技淫巧
將業(yè)務(wù)打包成動態(tài)庫
動態(tài)化。將一部分Native界面用Weex重寫
去除Swift代碼睹欲,Swift的標(biāo)準(zhǔn)庫是打包在安裝包里的泣崩,一般都有10M+昔头。然后蘋果爸爸說等到Swift Runtime穩(wěn)定之后會合并到iOS系統(tǒng)里伊群,那時候使用Swift就不會顯著增加包大小了
在target->Build Settings->Other Link Flags里添加如下指令考杉,會把TEXT字段的部分內(nèi)容轉(zhuǎn)移到RODATA字段,避免蘋果對TEXT字段的審核限制舰始。當(dāng)然其實(shí)跟安裝包瘦身好像沒有什么關(guān)系崇棠,所以除非快不行了否則不建議操作 =。=-Wl,-rename_section,__TEXT,__cstring,__RODATA,__cstring -Wl,-rename_section,__TEXT,__gcc_except_tab,__RODATA,__gcc_except_tab -Wl,-rename_section,__TEXT,__const,__RODATA,__const -Wl,-rename_section,__TEXT,__objc_methname,__RODATA,__objc_methname -Wl,-rename_section,__TEXT,__objc_classname,__RODATA,__objc_classname -Wl,-rename_section,__TEXT,__objc_methtype,__RODATA,__objc_methtype
跟著蘋果爸爸走
App Thinning
使用xcasset管理圖片
開啟BitCode
本文為云棲社區(qū)原創(chuàng)內(nèi)容丸卷,未經(jīng)允許不得轉(zhuǎn)載枕稀,如需轉(zhuǎn)載請發(fā)送郵件至yqeditor@list.alibaba-inc.com;如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容谜嫉,歡迎發(fā)送郵件至:yqgroup@service.aliyun.com 進(jìn)行舉報萎坷,并提供相關(guān)證據(jù),一經(jīng)查實(shí)沐兰,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容食铐。