忙碌的項(xiàng)目開(kāi)發(fā)告以段落,現(xiàn)在開(kāi)始優(yōu)化,弄的我好久沒(méi)寫(xiě)博客了???,F(xiàn)在主要從包的大小開(kāi)始優(yōu)化。之后會(huì)陸續(xù)從代碼結(jié)構(gòu)上進(jìn)行優(yōu)化。
==本文主要闡述如何減少包的大小==
資源文件的優(yōu)化
首先,找到自己打包后的ipa,然后右鍵,打開(kāi)方式選擇歸檔實(shí)用工具,就會(huì)解壓出來(lái)一個(gè)文件夾,在Payload文件夾中找到當(dāng)前ipa的app文件(基本就是和這個(gè)ipa名字一樣的文件,app后綴系統(tǒng)默認(rèn)隱藏),右鍵顯示包內(nèi)容,進(jìn)入到文件夾內(nèi),按照大小進(jìn)行排序,你會(huì)發(fā)現(xiàn)所有的資源,首先對(duì)圖片進(jìn)行優(yōu)化,圖片主要的大小應(yīng)該維持到200k以內(nèi),需要采用無(wú)損壓縮。圖片壓縮推薦使用ImageOptim
代碼部分優(yōu)化
通過(guò)appcode 打開(kāi)對(duì)應(yīng)的工程文件 選擇 Code - > inspect Code 分析代碼,去掉無(wú)用的引用及代碼。(appcode真的很強(qiáng)大,連拼寫(xiě)錯(cuò)誤都能分析出來(lái),但是就是長(zhǎng)的像安卓看起來(lái)很丑)
分析可執(zhí)行文件
- 使用link map
XCode開(kāi)啟編譯選項(xiàng)Write Link Map File
XCode -> Project -> Build Settings -> 搜map -> 把Write Link Map File選項(xiàng)設(shè)為yes
在 編譯后的工程文件夾可以找到 命名為 xxxlinkmapxxx.txt的文件(查找方式為,Winodw - Project - derived data - build - Intermediates -xxx.build - 對(duì)應(yīng)debug或者Release文件下)分析 該txt文件,可以得到項(xiàng)目編譯后各個(gè)模塊生成的.o文件在可執(zhí)行文件中的組成。 - 如何分析
本文采用node + js 的方式分析。 js代碼地址https://gist.github.com/bang590/8f3e9704f1c2661836cd 使用方法,node js路徑 xxlinkmapxxx.txt 路徑 -hl 分析出來(lái) 過(guò)大的可以考慮縮減和替換。