《深入淺出Android原始碼》是2017年電子工業出版社出版的書籍,作者是何軍。
基本介紹
- 中文名:深入淺出Android原始碼
- 作者:何軍
- 出版時間:2017年5月
- 出版社:電子工業出版社
- 頁數:544 頁
- ISBN: 9787121304873
- 定價:99 元
- 開本:16 開
內容提要,目錄,
內容提要
《深入淺出Android原始碼:基於Android6.0和實際開發案例剖》基於Android6.0原始碼和實際案例,分析Android系統的框架原理和具體實現。由於Android框架里模組眾多,《深入淺出Android原始碼:基於Android6.0和實際開發案例剖》只詳細分析了框架里的一部分模組,涉及這些模組的原理、架構及代碼實現等各個細節,儘量做到讓讀者知其然,又知其所以然。在Android官方網站,Android分了4層,從高到低分別是應用程式層、應用程式框架層、系統庫層和Linux核心層。《深入淺出Android原始碼:基於Android6.0和實際開發案例剖》主要涉及應用程式層、應用程式框架層和系統庫層。
希望讀者通過《深入淺出Android原始碼:基於Android6.0和實際開發案例剖》,能對Android有個更全面、更深入的理解。《深入淺出Android原始碼:基於Android6.0和實際開發案例剖》面向的讀者主要是Framework框架工程師、系統開發工程師、套用開發工程師和ROM開發工程師。
目錄
第一部分Android基礎篇
第1章Android簡介.2
1.1Android簡介2
1.2閱讀Android原始碼6
第2章Android基礎類.10
2.1Android基礎類簡介10
2.2Thread類原理11
2.3Mutex與Condition20
2.3.1Mutex(AutoMutex)分析20
2.3.2Condition代碼分析24
2.4Android系統智慧型指針30
2.4.1輕量級指針(lp)30
2.4.2強指針(sp)32
第3章Android上下文環境Context37
3.1Context簡介37
3.2Application運行上下文環境Context的創建過程40
3.2.1創建ApplicationContext41
3.2.2獲得ApplicationContext47
3.3Activity運行上下文環境Context的創建過程48
3.4Service運行上下文環境Context的創建過程55
第4章Android訊息機制59
4.1Android訊息機制原理59
4.2創建訊息佇列和進入訊息循環過程61
4.3訊息的傳送過程70
4.4訊息的處理過程75
第二部分Android框架篇
第5章AndroidInit進程.78
5.1AndroidInit進程簡介78
5.2klog_init函式83
5.3process_kernel_cmdline函式85
5.4signal_handler_init函式86
5.5property_load_boot_defaults函式.89
5.6屬性服務90
5.6.1屬性服務的初始化與啟動90
5.6.2屬性的設定91
5.6.3屬性值的獲取95
5.7解析init.rc配置檔案和啟動service進程96
5.7.1init.rc檔案基礎介紹96
5.7.2解析init.rc檔案.100
5.7.3啟動service進程104
第6章開機動畫bootanimation108
6.1開機動畫bootanimation原理108
6.2開機動畫bootanimation的顯示過程111
6.3開機動畫bootanimation的退出過程127
第7章Zygote進程135
7.1Zygote進程基礎介紹135
7.2Zygote進程的啟動139
7.2.1調用startVM函式啟動虛擬機143
7.2.2調用startReg函式註冊JNI方法143
7.2.3調用ZygoteInit類的main方法145
7.3啟動system_server進程.150
7.4啟動APP應用程式進程155
第8章SystemServer進程161
8.1SystemServer系統服務161
8.2SystemServer創建框架核心服務165
第9章Android系統的開機與關機175
9.1Android系統的開機175
9.2Android系統的關機185
9.3案例分析197
9.3.1Android系統開機時間標誌197
9.3.2Android系統關機時間標誌198
第10章Android系統異常問題.199
10.1addr2line工具.199
10.2Watchdog207
10.3Android系統異常問題217
10.3.1Android當機218
10.3.2Android系統重啟220
10.3.3Android系統啟動異常233
第11章ActivityManagerService236
11.1ActivityManagerService簡介.236
11.2Activity的啟動過程240
11.2.1LauncherActivity的onPause過程241
11.2.2LauncherActivity的onStop過程261
11.2.3新Activity的onCreate、onStart和onResume過程264
11.3Service的啟動過程273
11.4Broadcast.280
11.4.1廣播的註冊過程282
11.4.2廣播的傳送過程290
11.4.3廣播的處理過程295
11.5 進程記憶體管理303
11.6 案例分析.320
11.6.1與Activity有關的例子320
11.6.2與BroadCast有關的例子323
11.6.3與進程記憶體有關的例子329
第12章Android國際化331
12.1CTS與GTS331
12.2全球緊急電話策略337
12.3Android多語言345
第三部分AndroidROMUI篇
第13章Android資源管理系統354
13.1資源管理簡介354
13.2資源初始化過程361
13.2.1AssetManager的構造方法369
13.2.2AssetManager.java的addAssetPath方法.374
13.2.3Resources的構造方法375
13.3資源查找、解析、創建View過程378
13.3.1查找資源ID對應的不是檔案的過程380
13.3.2查找資源ID對應的是檔案的過程382
13.4主題換膚實現396
第14章AndroidView系統411
14.1View系統簡介411
14.2應用程式Activity的創建412
14.3Activity視窗對象PhoneWindow的創建424
14.4Activity根視圖對象DecorView的創建432
14.5ViewRootImpl的創建和添加DecorView對象440
14.6View的measure、layout和draw過程453
14.6.1View的measure過程462
14.6.2View的layout過程473
14.6.3View的draw過程.478
14.7View事件分發493
14.8案例分析503
第15章Android控制項.512
15.1Android系統控制項分析512
15.1.1系統控制項簡介512
15.1.2系統控制項TextView的屬性.514
15.1.3系統控制項TextView的onMeasure517
15.1.4系統控制項TextView的onLayout523
15.1.5系統控制項TextView的onDraw523
15.2自定義控制項524
15.2.1定義自定義控制項屬性525
15.2.2實現自定義控制項525
15.2.3使用自定義控制項527
15.3Android控制項案例分析527