隨着項目時間愈來愈久,你們天然而然的必定會面對一個問題:APP安裝包愈來愈大。那就不由自問一下了,安裝包裏邊的東西都是須要的嗎?答案確定是:不是的!即便都是須要的那有沒有優化空間呢?固然確定也會有的。接下里介紹一下做者安裝包瘦身的一次經歷。git
安裝包從68.9M減小到23.Mgithub
你們別急着想做者作了什麼竟然能減小這麼大呢?這裏其中有一個狗血的事情。雖然不是每一個人都會遇到,可是仍是當心爲妙!工具
瘦身以前,做者也看了很多有關這方面的文章。其實總結下來雖然優化點挺多的,可是總的來講對於大部分項目來講能夠入手作的而且效果比較大能夠概括爲一下2點:優化
原生資源ui
代碼設計
本人開發的APP以前半年之久,從0開始,因此歷史包袱沒有。可是發現開發的APP達到將近70M的時候,其實第一反應是難以想象。正好項目有點空閒時間內了,就開始着手瘦身這一事情了。code
圖片資源其實在大部分項目中佔據了很多比例的。視頻
fdupes -r xxx/Images.xcassets圖片
工程中歷史包袱沒有,因此重複和沒有用的圖片沒有那麼大。瘦身了0.2M,效果不是很是明顯資源
狗血的事情 這裏壓縮過程當中,做者竟然在工程中發現了一張41.6M的圖片!!!。因此建議你們在使用設計給到的圖片必定要看看大小!
TinyPNG很不錯的一個圖片免費在線壓縮工具
我壓縮了工程中用到的比較大的圖片(幾十K以上的),小的就沒有去壓縮。另外一個你們必定要注意APP的歡迎頁,質量都比較高,尤爲大。要不一樣機型的歡迎頁都要壓縮一下。
項目中若是有視頻音頻的話佔的比較大的話,你們能夠作一下處理。好比音頻可使用ogg等比較小的文件。
這裏因爲沒有歷史包袱代碼層面咱們如今項目可優化的不是很大。這裏其實主要就是沒有用的文件和第三方的引用致使安裝包變大。因此沒用到的文件確定要刪除,針對比較大的第三方作個取捨。代碼重複掃描的話對安裝包瘦身效果不是很明顯,不過你們能夠用來重構項目也是有用的,作個參考