發表於2024-11-25
基於Android源代碼和實際開發案例分析,讓讀者在學習過程中進一步吃透源代碼。
本書基於Android 6.0源代碼和實際案例,分析Android係統的框架原理和具體實現。由於Android框架裏模塊眾多,本書隻詳細分析瞭框架裏的一部分模塊,涉及這些模塊的原理、架構及代碼實現等各個細節,盡量做到讓讀者知其然,又知其所以然。在Android官方網站,Android分瞭4層,從高到低分彆是應用程序層、應用程序框架層、係統庫層和Linux內核層。本書主要涉及應用程序層、應用程序框架層和係統庫層。
何軍,2010年從事Android工作至今,從Android1.6到現在的Android7.0,熱愛Android、喜歡鑽研、樂於分享。多年的框架開發和應用開發經驗,應用商店有多個APP上綫作品。熱衷於Android源代碼的研究,對Android的架構設計和實現原理有深刻的認識和理解。目前就職於某一手機廠商,任職Android Framework框架工程師,負責Framework與APP開發和維護。
第一部分 Android基礎篇
第1章 Android簡介 2
1.1 Android簡介 2
1.2 閱讀Android源代碼 6
第2章 Android基礎類 10
2.1 Android基礎類簡介 10
2.2 Thread類原理 11
2.3 Mutex與Condition 20
2.3.1 Mutex(AutoMutex)分析 20
2.3.2 Condition代碼分析 24
2.4 Android係統智能指針 30
2.4.1 輕量級指針(lp) 30
2.4.2 強指針(sp) 32
第3章 Android上下文環境Context 37
3.1 Context簡介 37
3.2 Application運行上下文環境Context的創建過程 40
3.2.1 創建Application Context 41
3.2.2 獲得Application Context 47
3.3 Activity運行上下文環境Context的創建過程 48
3.4 Service運行上下文環境Context的創建過程 55
第4章 Android消息機製 59
4.1 Android消息機製原理 59
4.2 創建消息隊列和進入消息循環過程 61
4.3 消息的發送過程 70
4.4 消息的處理過程 75
第二部分 Android框架篇
第5章 Android Init進程 78
5.1 Android Init進程簡介 78
5.2 klog_init() 函數 83
5.3 process_kernel_cmdline() 函數 85
5.4 signal_handler_init() 函數 86
5.5 property_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.1 init.rc文件基礎介紹 96
5.7.2 解析init.rc文件 100
5.7.3 啓動service進程 104
第6章 開機動畫bootanimation 108
6.1 開機動畫bootanimation原理 108
6.2 開機動畫bootanimation的顯示過程 111
6.3 開機動畫bootanimation的退齣過程 127
第7章 Zygote進程 135
7.1 Zygote進程基礎介紹 135
7.2 Zygote進程的啓動 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.1 SystemServer係統服務 161
8.2 SystemServer創建框架核心服務 165
第9章 Android係統的開機與關機 175
9.1 Android係統的開機 175
9.2 Android係統的關機 185
9.3 案例分析 197
9.3.1 Android係統開機時間標誌 197
9.3.2 Android係統關機時間標誌 198
第10章 Android係統異常問題 199
10.1 addr2line工具 199
10.2 Android Watchdog 207
10.3 Android係統異常問題 217
10.3.1 Android死機 218
10.3.2 Android係統重啓 220
10.3.3 Android係統啓動異常 233
第11章 ActivityManagerService 236
11.1 ActivityManagerService簡介 236
11.2 Activity的啓動過程 240
11.2.1 Launcher Activity的onPause() 過程 241
11.2.2 Launcher Activity的onStop() 過程 261
11.2.3 新Activity的onCreate()、onStart()和onResume() 過程 264
11.3 Service的啓動過程 273
11.4 Broadcast 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.1 CTS與GTS 331
12.2 全球緊急電話策略 337
12.3 Android多語言 345
第三部分 Android ROM UI篇
第13章 Android資源管理係統 354
13.1 資源管理簡介 354
13.2 資源初始化過程 361
13.2.1 AssetManager的構造方法 369
13.2.2 AssetManager.java的addAssetPath() 方法 374
13.2.3 Resources的構造方法 375
13.3 資源查找、解析、創建View過程 378
13.3.1 查找資源ID對應的不是文件的過程 380
13.3.2 查找資源ID對應的是文件的過程 382
13.4 主題換膚實現 396
第14章 Android View係統 411
14.1 View係統簡介 411
14.2 應用程序Activity的創建 412
14.3 Activity窗口對象PhoneWindow的創建 424
14.4 Activity根視圖對象DecorView的創建 432
14.5 ViewRootImpl的創建和添加DecorView對象 440
14.6 View的measure、layout和draw過程 453
14.6.1 View的measure過程 462
14.6.2 View的layout過程 473
14.6.3 View的draw過程 478
14.7 View事件分發 493
14.8 案例分析 503
第15章 Android控件 512
15.1 Android係統控件分析 512
15.1.1 係統控件簡介 512
15.1.2 係統控件TextView的屬性 514
15.1.3 係統控件TextView的onMeasure() 517
15.1.4 係統控件TextView的onLayout() 523
15.1.5 係統控件TextView的onDraw() 523
15.2 自定義控件 524
15.2.1 定義自定義控件屬性 525
15.2.2 實現自定義控件 525
15.2.3 使用自定義控件 527
15.3 Android控件案例分析 527
深入淺齣Android源代碼:基於Android 6.0和實際開發案例剖析 下載 mobi pdf epub txt 電子書 格式 2024
深入淺齣Android源代碼:基於Android 6.0和實際開發案例剖析 下載 mobi epub pdf 電子書書的內容不錯,還算是很新的瞭
評分一直想買。。。
評分一直想買。。。
評分專業必備Android 6.0 源碼
評分還沒來得及細看,應該不錯~
評分給彆人買的,做事情,一定要懂原理。
評分很好的書書書
評分我老婆看安卓,我也在偷學
評分商品不錯,送貨速度快,質量也挺好的。
深入淺齣Android源代碼:基於Android 6.0和實際開發案例剖析 mobi epub pdf txt 電子書 格式下載 2024