Android apk大小優化之自我實踐
前言:第一篇部落格,純屬筆記,以便日後使用。如有不足,請諒解!
一、概述
最近剛做完光大銀行的一款社群生活服務類APP,但是在打包簽名時發現apk太大了,將近18M,如下圖所示:
於是,我便花了一段時間進行apk大小優化,俗稱“瘦身”,哈哈。有網上看別人的解決方案,我這裡就彙總一下,具體有五點,往下看:
1.圖片優化
我們知道,Android中圖片佔了apk大小的大部分比重。於是我看了下自己的專案,總共有四套圖,分別是:320P、480p、720p、1080p。考慮到解析度相近,所以保留了480p、720p,再加上自己佈局的適應性,基本可以適應絕大部分機型。此時,apk小了近一半大小。接著我將一些大圖,比如:啟動圖,引導圖,背景圖等png大圖進行了優化,網上有使用tinypng進行有失真壓縮或轉成jpg、webp等格式,都可以起到優化圖片大小的作用。這裡的話,綜合各方面,自己用ps將圖片轉成了jpg格式,對比發現每張圖片都小了一半多,然後清晰度也沒有明顯差異,變化。
2.libs目錄優化
在做專案的時候,難免會用到一些第三方jar包以及.SO庫,也許有些放進去了跟本沒用,也許只用了其中一小部分,這樣一來,jar包也會佔用很大空間。因此我把沒用到的jar包清理了一遍。至於只使用一小部分的功能的jar包,看看能不能使用其他方案實現,而不去依賴這個jar包。
3.程式碼優化
寫程式碼的時候難免會有很多垃圾程式碼,重複程式碼或者沒使用到的第三方工具類。把相關目錄都過濾一遍,對apk大小優化也很有幫助。
4.佈局優化
有很多佈局,包括layout、動畫、形狀、selecter等,不使用的清除掉。同時注意佈局層次,複用。還有就是很多按鈕是圖片按鈕,為了方便,當時就叫美工切成圖片,這裡我把所有的圖片按鈕全換成了佈局+顏色值進行實現。
5.proguard混淆
經過上面一些列步驟,我的apk成功優化到了7.85M,有點小激動。其實這裡再使用混淆打包的話,其實還能“瘦”很多,測試了下,足足減了1M。因此,最終,我的apk大小為6.85M,如下所示:
感覺已經很難再小了,裡面使用了一個通聯支付,自帶了一個apk就2M多了,哎,暫且先這樣吧。
謝謝!