Android Runtime 源碼解析

Android Runtime 源碼解析

作者: 史寧寧
出版社: 清華大學
出版在: 2022-06-01
ISBN-13: 9787302600848
ISBN-10: 7302600848





內容描述


Android Runtime(ART)作為Android系統的核心組建,是Android應用運行及其效率的基礎,瞭解ART的組成和執行流程,有利於Android應用開發者高效開發Android應用。同時,ART作為一種Java虛擬機,也是廣大虛擬機開發者學習和改進的目標,瞭解ART有助於虛擬機的開發和調優。 本書基於Android 10.0.0_r39源碼,分析了ART基礎、ART的compiler、ART的啟動與運行、ART中的垃圾回收。這些分析旨在為讀者搭建ART的基本框架,帶領讀者一起瞭解ART的基本情況,為進一步瞭解ART打下基礎。 本書適合想瞭解ART的App開發者、Android系統優化開發者及虛擬機開發者閱讀,也適合高校學生學習虛擬機使用。


目錄大綱


目錄
第1章ART基礎
 
1.1虛擬機基礎
 
1.2ART發展歷史
 
1.3ART核心架構
 
1.4源碼目錄介紹
 
1.5小結
 
第2章dex2oat工具介紹
 
2.1dex2oat入口代碼分析
 
2.2dex2oat的driver分析
 
2.3dex2oat driver的編譯函數
 
2.4DexToDexCompiler分析
 
2.5小結
 
第3章OptimizingCompiler介紹
 
3.1OptimizingCompiler類的JNI處理
 
3.2OptimizingCompiler:: Compile()
 
3.3HGraph的構建
 
3.3.1構建基於基本代碼塊的CFG
 
3.3.2構建支配樹
 
3.3.3構建SSA
 
3.4優化
 
3.5寄存器分配
 
3.5.1PrepareForRegisterAllocation
 
3.5.2SsaLivenessAnalysis
 
3.5.3RegisterAllocator
 
3.6代碼生成
 
3.7OptimizingCompiler總結
 
3.8小結
 
第4章OptimizingCompiler優化算法分析
 
4.1優化算法框架
 
4.2常量折疊
 
4.3指令簡化
 
4.4死代碼優化
 
4.5循環體優化
 
4.6指令下沉
 
4.7硬件平臺相關優化pass及其實現
 
4.8小結
 
第5章ART啟動分析
 
5.1ART啟動中的虛擬機啟動一
 
5.2ART啟動中的虛擬機啟動二
 
5.3ART啟動中的JIT編譯器的創建 
 
5.4ART啟動中的Thread處理
 
5.5ART啟動中的運行時本地方法初始化
 
5.6ART啟動中的其他本地方法的註冊
 
5.7Zygote進程
 
5.7.1System Server進程
 
5.7.2應用進程
 
5.8小結
 
第6章ART的執行
 
6.1ART運行基本流程
 
6.2Zygote進程調用應用程序
 
6.2.1Zygote.forkAndSpecialize
 
6.2.2ZygoteConnection.handleChildProc
 
6.3類的查找與定義
 
6.4方法的加載和鏈接
 
6.5方法的執行
 
6.6小結
 
第7章ART GC實現
 
7.1GC的基本內容
 
7.2ART GC回收方案介紹
 
7.3ART GC回收器的實現
 
7.3.1回收器的類型
 
7.3.2不同類型回收器的實現
 
7.4ART GC的分配器實現
 
7.4.1分配器與空間類
 
7.4.2分配器與回收器
 
7.5ART GC的使用流程
 
7.5.1分配器的使用
 
7.5.2回收器的使用
 
7.6小結
 
參考文獻
 
後記




相關書籍

Objective-C編程之道:iOS設計模式解析

作者 鐘冠賢(Carlo Chung)

2022-06-01

App Inventor 2 與 IoT 物聯網應用完美結合含雲端資料庫 Firebase - 附 MOSME 行動學習一點通:診斷.加值

作者 李春雄

2022-06-01

iOS 程式設計索引 108:最想知道的 iPhone APP 開發語法速查

作者 近藤修平 x山貴 森田秀幸 森本一茂

2022-06-01