公司的apk越做越大。。。作為一個有追求的程式員,我覺得有必要給apk瘦身了。。。 優化之前,先來分析一下apk結構,下麵附上一張apk結構圖: apk結構.png apk結構.png 由於我這個項目集成了百度地圖、百度導航。。。所以assets和lib各自變態的占了12M+,有種蛋蛋的憂傷。。。百 ...
公司的apk越做越大。。。
作為一個有追求的程式員,我覺得有必要給apk瘦身了。。。
優化之前,先來分析一下apk結構,下麵附上一張apk結構圖:
apk結構.png
由於我這個項目集成了百度地圖、百度導航。。。所以assets和lib各自變態的占了12M+,有種蛋蛋的憂傷。。。
百度地圖是在官網上按項目需求集成的,不需要的功能都沒有集成進來,實在沒什麼優化的空間。。。
classes.dex文件有6.5MB,這個倒是可以優化。Facebook 開源了一個 Redex,用於 Android 位元組碼的優化,經過 Redex 轉換後的 apk,體積變得更小,運行速度變得更快。不過在Github上看了一下,Redex目前只能在Mac和Linux上使用,Windows上無法使用,公司的電腦還沒裝虛擬機,只能等下次再用了。。。
至於資源文件,我之前用TinyPNG壓縮過圖片,所以圖中資源文件並不算很大。這裡附上TinyPNG的網址:https://tinypng.com/
除了壓縮圖片,還可以刪掉一些沒有用到的資源。用Android Studio打開項目,點擊Analyze--》Run Inspection by Name--》搜索Unused resources,可以搜索出無用資源,刪除無用資源(記得別誤刪友盟的資源...)。
網上有人說直接點擊Refactor--》Remove Unused Resources直接刪除無用資源。對於這個方法,我勸大家要慎重,因為我上次用這個方法把友盟的資源給刪了,導致出現一大堆問題,後面又不得不把友盟的資源再補回去。。。
apk的其他文件也不算大,瘦身計劃告一段落。
除了apk瘦身,性能優化也很重要。這裡給大家安利一下阿裡雲的移動測試,我選擇了深度性能測試。不測不知道,一測嚇一跳。。。之前沒發現的問題,這裡都可以測出來,大家可以根據出現的問題修改代碼。
apk優化暫告一段落,以後有時間再繼續研究。。。