Android性能調(diào)優(yōu) - Apk瘦身

1.前言

  • 隨著業(yè)務(wù)量的日益增長,Apk體積也相對應(yīng)的變大,而且有較多時候會遺忘無關(guān)的資源(圖片、lib等等),導(dǎo)致Apk非常臃腫,也直接影響著用戶更新或者下載的體驗與流量的流失,因此Apk體積優(yōu)化已成必要的維護工作。
  • Android Studio 3.x之后提供 Analyser 查看apk體積分布:
    android studio apk.png
  • 上圖很清晰顯示出各部分文件大小的信息,資源、lib 占比最高,也是主要優(yōu)化的對象。
  • 本文從資源、lib、class.dex 三個維度提出相關(guān)的優(yōu)化。
  • 文章中實例 linhaojian的Github

2.資源

資源主要包括:圖片、音樂文件font文件、非圖片的res文件(layout、anim、raw等);

2.1 無用資源

  • 在開發(fā)的過程中,有可能會處在無用資源,可通過Android Lint進行檢測與移出,如下圖:
    1.點擊 Analyze 進行,代碼性能檢測:
    lint1.png

    lint2.png

    2.查看分析結(jié)果,并移除無用資源:
    lint3.png
  • Analyze除了檢測無用資源,還有其他分析檢測。

2.2 資源壓縮

  • 1.圖片可使用TinyPng或者Guetzli進行壓縮。
  • 2.使用Webp格式圖片。

3.lib

lib主要包括:so文件、第三方庫;

3.1 so文件

  • 1.so文件兼容一個平臺,armeabi-v7已普及。
  • 2.動態(tài)下載與加載so文件。

3.2 第三方庫

4.class.dex

class.dex包含:項目代碼;

  • 1.盡量減少第三方庫的引用。
  • 2.避免使用枚舉(枚舉占用內(nèi)存高)。
  • 3.使用ProGuard進行代碼混淆與壓縮。

5.總結(jié)

  • 到此,Apk瘦身 講述完畢。
  • 如果喜歡我的分享,可以點擊 關(guān)注 或者 ,你們支持是我分享的最大動力 。
  • linhaojian的Github

歡迎關(guān)注linhaojian_CSDN博客或者linhaojian_簡書

不定期分享關(guān)于安卓開發(fā)的干貨。


寫技術(shù)文章初心

  • 技術(shù)知識積累
  • 技術(shù)知識鞏固
  • 技術(shù)知識分享
  • 技術(shù)知識交流
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2個90天三個目標 1?每天閱讀一篇攝影的微信推送,90天內(nèi)閱讀完成3本攝影書籍。 本周攝影方面的學(xué)習(xí)完全停滯,...
    胡豆兒閱讀 303評論 1 0
  • 隆隆轟轟了一早上,接近晌午,突然宿舍地面,墻面?zhèn)鱽硪魂囌鸲@,急促鉆機聲。為確定聲源,遂下三樓查看,眼前臨近幾間...
    懷想君閱讀 120評論 0 0
  • 我是作者,我根據(jù)個人的對生活中的看法…… 就是這個小說中描寫的事物發(fā)展變化,希望你們能夠體會生活中的小小的事物給你...
    顏小鋪閱讀 264評論 0 1
  • 前兩天xcode7.2寫的xmpp-demo,今天用xcode8.0一編譯,不能用了。在網(wǎng)上各種搜。終于弄好了,總...
    雙手插兜Jeff閱讀 900評論 2 1

友情鏈接更多精彩內(nèi)容