iOS APP優化之 IPA體積優化

2021-08-07 20:55:07 字數 1508 閱讀 9772

專案中在對ipa體積的優化

接下來會對各個部分分別嘗試優化處理已減小安裝包體積:

使用方法: 1.將.sh檔案放到所檢測工程的目錄下,

2.cd 到該目錄項

3.執行指令碼:sh unusedimage.sh

在我自己工程裡執行結果如下:

可以看到有好多資源都沒有應用到。

注意:這裡在刪除未應用的時注意第三方庫里的不能刪除,保險起見相同資料夾下的最好在工程裡手動再搜尋一次,確定沒有使用到,就可以刪除了。這裡對整理刪除前後打包的ipa大小做一對比:

可以看到ipa減小了1m· 最關鍵的在於,我將未使用到的整理後發現;大小基本和ipa減小的一致

這就比較好玩了,也說明了每減少一張,就實實在在的減少了ipa的大小。

2.文件資源的優化

文件資源主要是排查:

是否有不必要的文件資源,如果過期的舊版本所需要的文件資源 清理即可。 

優化文件資源大小,主要是優化精簡文件內容。

3.二進位製包優化

二進位製包是由各種**檔案,靜態庫 動態庫 經過編譯後生成的可執行檔案。

這裡推薦乙個歸類工具:使用方法很詳細,結果類似如圖:

通過對上面的檔案進行分析,就知道每個類在最終的可執行檔案中佔據的大小。 然後有針對性的進行優化就可以了。

4.xcode編譯選項優化:

在build setting 中對以下幾點進行設定

strip linked product 設定為yes 需要注意的是strip linked product也受到deployment postprocessing設定選項的影響。在build settings中,我們可以看到, strip linked product是在deployment這欄中的,而deployment postprocessing相當於是deployment的總開關。記得把deployment postprocessing也設定為yes, 該選項對安裝包大小的影響非常大, 以剛剛的專案為例,如果不開啟此設定,ipa大小是35.8m,比設定為yes大了4.8m  ps:deployment postprocessing這個配置項如果使用xcode打包,xcode會預設把這個變數置為yes, 如果使用指令碼打包,記得設定。

symbols hidden by default設定為yes 

make strings read-only 設定為yes

Webpack 打包優化之體積篇

談及如今欣欣向榮的前端圈,不僅有各類框架百花齊放,如vue,react,angular等等,就打包工具而言,發展也是如火如荼,百家爭鳴 從早期的王者browserify,grunt,到後來贏得寶座的gulp,以及獨樹一幟的fis3,以及下一代打包神器rollup 在 browserify,grunt...

mysql調優之schema優化

mysql的三正規化 1nf 第一正規化 字段不可分 2nf 第二正規化 有主鍵,非主鍵字段依賴主鍵 3nf 第三正規化 非主鍵字段不能相互依賴 解釋 1nf 原子性 字段不可再分,否則就不是關聯式資料庫 2nf 唯一性 乙個表只說明乙個事物 3nf 每列都與主鍵有直接關係,不存在傳遞依賴 在企業中...

排名 優化 mysql SQL調優之排名優化

mysql explain extended select t.rowno from select rowno rowno 1 as rowno,ur.customer id as userid from t hss user info rank ur,select rowno 0 rno orde...