iOS ipa 包最佳化

來源:互聯網
上載者:User

標籤:settings   避免   版本   nbsp   cas   rip   第三方   symbols   ima   

項目裡有一個h5頁面需要原生化,這個頁面有大量的本地圖片,而這些圖又用了2x、3x兩套圖,其中有些圖片大到一張能達到好幾M,最終的結果是ipa的包體積巨大無比。於是試了好些方法,終於把ipa的體積減小了很多。接下來總結一些能讓app瘦身的方法。

1、 從圖片資源進行瘦身。

(1) 對圖片本身進行壓縮。設計師在設計大的圖片時對圖片進行壓縮一下,然後用戶端使用壓縮後的圖片,這樣能大大減少ipa包的體積。我項目中用到的那些很大的圖片設計師沒有對其進行壓縮,所以讓設計師幫把所有的大圖片都壓縮了一遍,這樣之前以M為單位的圖片能壓縮到以k為單位的圖片。大大減小了ipa的體積。

2) 用戶端在工程中使用Assets.xcassets的方式管理圖片,盡量避免使用檔案夾的方式進行管理。因為採用Assets.xcassets的方式,編譯時間,Images.xcassets中的所有檔案會被打包為Assets.car的檔案,這樣也能一定程度上減小app體積

3) 清除無用的圖片。在版本更新的時候,有些之前用到的圖片在新版本中未必會用得到,所以那些無用的圖片要記得及時清除。

4) 盡量使用向量圖。 有人說這個方法對減小ipa體積沒啥大作用,不過不管有沒有用,我覺得這都是一個很值得提倡的方法。因為向量圖可以自己定義大小以及顏色,所以對於一張圖片,只需要一套圖即可。比如我們項目中的表徵圖,能用iconfont解決的我們都不會去才用切圖的方式。一個iconfont.ttf的包,裡面裝了幾十張的圖片也不過是十幾k的大小。

2、 整理項目中用到的第三方庫。

(1) 項目中沒有用到的第三方庫也記得要及時刪除。(2) 引入第三方庫要謹慎,學會評估引入這個庫是否值得。有時候為了一個功能引入了一個很大的第三庫,造成ipa體積的顯著增加,但是可能我們只用到了其中一小部分功能,那這個時候可以考慮自己實現這個功能,而不是引入該庫。

(3) 刪除三方庫中無用的圖片資源。有些第三方庫會帶有圖片資源,對於沒用到的圖片可以直接刪除。

3、 代碼層面的最佳化

(1) 未使用的代碼及時清理(2) 整理重複的代碼

4、 編譯選項的設定(均在Build Settings裡面設定)

對於這一塊,不是特別的懂,所以根據網上提供的一些方法,我試了一下,感覺以下方法確實能起到一定的作用,大家可以參考一下。(1) 將Deployment Postprocessing和Strip Linked Product選項 設定為YES。(2) 將Genetate Debug Symbols 預設為YES,設定為NO。(3) Symbols hidden by default設定為YES(4) Strip debug symbols during copy 設定為YES

 

iOS ipa 包最佳化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.