最近作app安裝包壓縮工做html
主要工做:ios
1.精簡資源文件,全部圖片資源壓縮,刪除全部沒有用到的圖片資源。服務器
刪除資源後安裝包減小明顯;app
二、更改工程編譯配置iphone
將Generate Debug Symbols改成NO (debug狀態下不要修改,否則調試過程當中會打斷點無效)
將build setting中的Optimization Level設置爲release 下改成(Fastest, Smallest [-Os]) debug 下不要改,否則打斷點打印的時候,打印的對象可能會是nil函數
將build setting 中的Strip Debug Symbols During Copy設置爲YES(COPY_PHASE_STRIP = YES),ui
Symbols Hidden by Default 在release版本應該設爲yes,能夠去除沒必要要的調試符號。debug
3、刪除重複的代碼、冗餘的代碼、不用的類、函數、變量等調試
原來安裝包大小33,952,168字節code
增長一個testViewController後大小33,943,592字節
添加一個空的viewcontroller不增長其餘的方法,大概會增長8K的大小 大量的註釋基本不會影響安裝包的大小。
經過分析編譯產生的.o文件的大小,查看安裝包中哪些類佔用的空間大,而後按大小從上往下遍歷代碼中的類,刪除沒用的代碼。編譯後,文件名和路徑位於~/Library/Developer/Xcode/DerivedData/XXX-eumsvrzbvgfofvbfsoqokmjprvuh/Build/Intermediates/XXX.build/Debug-iphoneos/XXX.build/
由於服務器下發的JSON內容有不少字段,咱們app處理時候基本是每一個字段都解析了,因此本地好多類的變量不少,可是在下面的邏輯處理時候或者界面展現的時候,基本不用。例如orderSkuModel有兩百多個變量,可是有不少變量都是解析完,沒有使用。此時應該把他們去除。
這一輪修改後基本原來一千九百行的代碼,刪減後只剩一千行,原來的成員變量只剩一百個左右。
四:
去除項目中不用的framework、lib庫等,項目中持續週期比較長,裏面可能會有再也不使用的庫文件。刪除後,安裝包減小比較明顯。例如咱們項目中有個檢測崩潰的庫,在開發過程當中使用過,後期再也不使用,打包也不該該將其打進安裝包,應將其刪除。
比較好的技術點:
http://www.cocoachina.com/ios/20150202/11084.html
http://www.cocoachina.com/ios/20151203/14562.html
file JDKeplerDevApp 查看app文件詳情
otool -l JDKeplerDevApp 查看app命令詳情