Apk優化極致

1. webpandroid

  WebP格式,谷歌(google)開發的一種旨在加快圖片加載速度的圖片格式。圖片壓縮體積大約只有JPEG的2/3,並能節省大量的服務器寬帶資源和數據空間。Facebook Ebay等知名網站已經開始測試並使用WebP格式。WebP既支持有損壓縮也支持無損壓縮。web

     在Android Studio 中有專門的插件能夠作png和jpg轉爲Webp的服務器

     

2.svgsvg

SVG的全稱是Scalable Vector Graphics,叫可縮放矢量圖形。它和位圖(Bitmap)相對,SVG不會像位圖同樣由於縮放而讓圖片質量降低。它的優勢在於節約空間,使用方便。測試

 

3.tintgradle

tint在必定程度上也是能夠減小apk 的體積,好比,咱們一個imageview 作點擊效果,按下和擡起是不同的效果的時候,咱們須要寫一個seletor,而後放置兩張不一樣的圖片,那麼tint能夠經過一個矢量圖,改變不一樣顏色值來實現這種功能,不須要兩張圖片網站

 

4. 代碼混淆ui

在build.gradle中android節點下的xbuildtype中增長miniEnabled true即是開啓了代碼混淆,同時要配置代碼混淆腳本google

5.代碼和資源壓縮移除 插件

  shrinkResource true 這個不會刪除沒有用的資源,只是將檢測到的沒有用的資源改變結構,好比圖片就是變成一個很小的黑色的佔位圖片,沒有.xml,會刪除裏面的內容,可是文件都還在,

  若是用了反射或者動態獲取,他是檢測不到的,因此要保持這部分不被處理,要加一個keep.xml文件,保持下來

6. 資源打包

默認全部的資源都是支持國際化的,包括咱們引入的第三方庫都是如此,可是咱們並不須要這麼多,可能只須要英文和中文,因此咱們在ProductFlavor中增長resConfigs('zh-rCN','en')就能夠了

7. 動態資源庫配置

目前市場上有armebi, armebi-v7a, armebi-v8a, mips, mips64, x86等,可是全部的都兼容armebi, 因此只要保留armebi就能夠了,能有效的減小apk 的大小

8.lint 物理 刪除無用的資源

9.資源res的混淆,7z壓縮,對齊

相關文章
相關標籤/搜索