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