思路:
1.剔除項目中未使用的圖標。
利用LSUnusedResources工具,下載好LSUnusedResources 之后在Mac上運行項目。出現(xiàn)查找的圖片可以刪除。下載地址:https://github.com/tinymind/LSUnusedResources?
刪除的時候最好查證一下項目中有沒有使用,以防萬一。
2.無損壓縮圖片。
利用imageOptim工具,Mac上前往appstore直接搜索下載,,每天免費用20次,,這個地方是最容易清理出很大的內(nèi)存。
3.處理廢棄代碼,這一點只有手動進行,每個頁面移除廢棄代碼,注意,如果之前注釋是為了以后使用的業(yè)務(wù)邏輯,就不要刪。
4.由于本身項目涉及到國際化,把沒用的翻譯key刪除。。刪除要注意,中文英文或者其他語言對應(yīng)的key都要刪除,,這一點本身占不了多少包的大小,,但是也是瘦身的一部分。
5.移除廢打印,,打印NSLog最好在debug模式下打印,這一點在宏文件里面判斷好,,由于本身項目是多人開發(fā),會出現(xiàn)頁面單獨出現(xiàn)NSLog的出現(xiàn),,因此需要改為debug模式下打印,或者直接刪除。
6.使用fui掃描工程中不用的類或者頁面,鏈接地址?https://my.oschina.net/u/4348226/blog/3508788。這一點識別出來的類可能不在你項目目錄,也有可能是整個項目其他地方均未使用,都可以刪除,注意分類也能識別出來不要刪除。
7.iOS可執(zhí)行文件瘦身方法,鏈接地址:http://blog.cnbang.net/tech/2544/
8.移除項目里面未使用的三方庫pods,由于本項目是一個長期迭代的項目,,可能出現(xiàn)早期版本使用的三方現(xiàn)在已經(jīng)沒有使用,所以需要剔除。
9.如果項目是多人開發(fā),,受多人開發(fā)習(xí)慣的影響,最好整理一下公共類/工具類/基礎(chǔ)類/分類/宏文件,,將各個頁面單獨寫的較多地方使用的模塊,進行獨立封裝后引用,這點如果是中大型項目其實可以清理不少大小,可能你一個模塊就是幾十個頁面在用,這也是編程思想的體現(xiàn)。
10.項目警告處理,這一點也很關(guān)鍵,,間接可以改變包大小,有些警告,比如你聲明的私有變量在整個頁面都未使用,打包的時候?qū)嶋H上是打包成了可執(zhí)行文件,增加了包大小,這里我說的只是一種情況,還可能出現(xiàn)的警告有:類型轉(zhuǎn)換警告.數(shù)組類型警告.未使用數(shù)據(jù)警告.未使用代理方法的警告.在if-else中缺少屬性值的警告.類型指向錯誤.Block方法無返回值時缺少void關(guān)鍵字的警告.通知未調(diào)用方法的警告.獲取鍵盤類型使用ios7語法的警告.字典不可變警告,等號兩邊類型不一致警告,UIAlertView在IOS8之后棄用的警告,給模型賦值為nil的警告等。有些警告不會增加包大小,但是也是項目優(yōu)化的一部分,正確來講,項目中能處理的警告最好都處理掉。