[一、Android 熱修復](%E4%B8%80%E3%80%81Android%E7%83%AD%E4%BF%AE%E5%A4%8D.md)
[二、Android 虛擬機和編譯加載順序](%E4%BA%8C%E3%80%81Android%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%92%8C%E7%BC%96%E8%AF%91%E5%8A%A0%E8%BD%BD%E9%A1%BA%E5%BA%8F.md)
[三、混合模式的理解](%E4%B8%89%E3%80%81%E6%B7%B7%E5%90%88%E6%A8%A1%E5%BC%8F%E7%9A%84%E7%90%86%E8%A7%A3.md)
[四、源碼類到機器執行的文件過程](%E5%9B%9B%E3%80%81%E6%BA%90%E7%A0%81%E7%B1%BB%E5%88%B0%E6%9C%BA%E5%99%A8%E6%89%A7%E8%A1%8C%E7%9A%84%E6%96%87%E4%BB%B6%E8%BF%87%E7%A8%8B.md)
[五、補丁包](%E4%BA%94%E3%80%81%E8%A1%A5%E4%B8%81%E5%8C%85.md)
[六、類補丁生效原理](%E5%85%AD%E3%80%81%E7%B1%BB%E8%A1%A5%E4%B8%81%E7%94%9F%E6%95%88%E5%8E%9F%E7%90%86.md)
[七、Davlik 虛擬機的限制](%E4%B8%83%E3%80%81Davlik%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%9A%84%E9%99%90%E5%88%B6.md)
[八、Davlik Class resolved by unexpected DEX: 限制和處理方式](%E5%85%AB%E3%80%81DavlikClassresolvedbyunexpectedDEX%E9%99%90%E5%88%B6%E5%92%8C%E5%A4%84%E7%90%86%E6%96%B9%E5%BC%8F.md)
[九、類加載器的雙親委派加載機制](%E4%B9%9D%E3%80%81%E7%B1%BB%E5%8A%A0%E8%BD%BD%E5%99%A8%E7%9A%84%E5%8F%8C%E4%BA%B2%E5%A7%94%E6%B4%BE%E5%8A%A0%E8%BD%BD%E6%9C%BA%E5%88%B6.md)
- 第一章 熱修復設計
- 第一節、AOT/JIT & dexopt 與dex2oat
- 一、AOT/JIT
- 二、dexopt 與dex2oat
- 第二節、熱修復設計之CLASS_ISPREVERIFIED 問題
- 一、前言
- 二、建立測試Demo
- 三、制作補丁
- 四、加載補丁
- 五、CLASS_ISPREVERIFIED
- 第三節、熱修復設計之熱修復原理
- 一、Android 熱修復
- 二、Android 虛擬機和編譯加載順序
- 三、混合模式的理解
- 四、源碼類到機器執行的文件過程
- 五、補丁包
- 六、類補丁生效原理
- 七、Davlik 虛擬機的限制
- 八、Davlik Class resolved by unexpected DEX: 限制和處理方式
- 九、類加載器的雙親委派加載機制
- 第四節、Tinker 的集成與使用(自動補丁包生成)
- 一、簡述
- 二、Tinker 組件依賴
- 三、Tinker 的配置及任務
- 四、Tinker 封裝與拓展
- 五、編寫Application 的代理類
- 六、常用API
- 七、測試
- 八、細節
- 第二章 插件化設計
- 第一節、Class 文件與Dex 文件的結構解讀
- 一、Class 文件
- 二、Dex 文件
- 三、Class 文件和Dex 文件對比
- 第二節、Android 資源加載機制詳解
- 第三節、四大組件調用原理
- 第四節、so 文件加載機制
- 第五節、Android 系統服務實現原理
- 第三章 組件化框架設計
- 第一節、阿里巴巴開源路由框——ARouter 原理分析
- 第二節、APT 編譯時期自動生成代碼&動態類加載
- 第三節、Java SPI 機制
- 第四節、AOP&IOC
- 第五節、手寫組件化架構
- 第四章 圖片加載框架
- 第一節 圖片加載框架選型
- 第二節 Glide 原理分析
- 第三節 手寫圖片加載框架實戰
- 第五章 網絡訪問框架設計
- 第一節 網絡通信必備基礎
- 第二節 OkHttp 源碼解讀
- 第三節 Retrofit2 源碼解析
- 第六章 RXJava響應式編程框架設計
- 第一節 RXJava之鏈式調用
- 第二節 RXJava之擴展的觀察者模式
- 第三節 RXJava之事件變換設計
- 第四節 Scheduler 線程控制
- 第七章 IOC架構設計
- 第一節 依賴注入與控制反轉
- 第二節 ButterKnife 原理上篇、中篇、下篇
- 第三節 IOC架構設計之Dagger2架構設計
- 第八章 Android架構組件 JetPack
- 第一節 LiveData的工作原理
- 第二節 Navigation 如何解決tabLayout 問題
- 第三節 ViewModel 如何感知View 生命周期及內核原理
- 第四節 Room 架構方式方法
- 第五節 dataBinding 為什么能夠支持MVVM
- 第六節 WorkManager 內核揭秘
- 第七節 Lifecycles 生命周期