Android動態加載學習筆記(一)

前言

上週五DPAndroid小分隊就第二階段分享內容進行了討論,結果造成了三個主題:性能優化、動態加載、內核遠離。我選擇的是第二項——動態加載。在目前的Android開發中,這一部分知識仍是比較流行的,很大一部分緣由是65k方法數的限制。國內各大IT公司的app開發者或多或少都遇到過這個老大難問題,而且各闢蹊徑,公佈了各自的應對方法。選這個議題,第一在於有價值(大型IT公司的Android開發必定會不可避免地在這個問題上糾結過,小型公司/開發者也許不在乎,較高的門檻剔除了不少初級的無用信息);第二在於可執行(正是因爲這一問題的普遍性與不可避免性,衆人八仙過海各顯神通,造成多種解決方案,方便參考與學習);第三在於可量化(最終必定會產出一個Demo,最好的結果是直接應用到DPApp上,爲諸多開發兄弟提供便利)。html

目標

  1. 掌握Android編譯、加載的基本原理;
  2. 關鍵技術點在於Dex拆分,編譯/運行時資源文件的定位與加載;
  3. 具體到執行,要分析兩到三個優秀的開源動態加載項目(攜程、360);
  4. 產出一個Demo

原理簡述

這個議題下,主要是四個知識點:1.Dex拆分;2.熱修復;3.動態加載;4.增量更新。其中,Dex拆分是基礎,動態加載基於Dex拆分進行,熱修復提供了無需在市場中更新apk來修復bug的技術,是最後一根救命稻草,增量更新減小了更新時須要下載的數據量,也能夠優化用戶體驗。android

資料彙總

攜程 DymamicAPK

奇虎360 DroidPlugin

微信

QQ空間

美團

手機淘寶

天貓技術

大點評 by屠大師

其它一些資料

相關文章
相關標籤/搜索