1. 程式人生 > >Android apk大小優化之自我實踐

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多了,哎,暫且先這樣吧。

謝謝!