前 言
第1章 搭建Android源碼工作環境 / 1
1.1 Android係統架構 / 2
1.2 搭建開發環境 / 3
1.2.1 下載源碼 / 3
1.2.2 編譯源碼 / 4
1.2.3 利用Eclipse調試system_process / 5
1.3 本章小結 / 11
第2章 深入理解Java Binder和MessageQueue / 12
2.1 概述 / 13
2.2 Java層中的Binder架構分析 / 13
2.2.1 Binder架構總覽 / 13
2.2.2 初始化Java層Binder框架 / 14
2.2.3 addService實例分析 / 17
2.2.4 Java層Binder架構總結 / 26
2.3 心係兩界的MessageQueue / 27
2.3.1 MessageQueue的創建 / 27
2.3.2 提取消息 / 28
2.3.3 nativePollOnce函數分析 / 31
2.3.4 MessageQueue總結 / 41
2.4 本章小結 / 42
第3章 深入理解SystemServer / 44
3.1 概述 / 45
3.2 SystemServer分析 / 45
3.2.1 main函數分析 / 45
3.2.2 Service群英會 / 48
3.3 EntropyService分析 / 49
3.4 DropBoxManagerService分析 / 50
3.4.1 DBMS構造函數分析 / 51
3.4.2 dropbox日誌文件的添加 / 51
3.4.3 DBMS和settings數據庫 / 56
3.5 DiskStatsService和DeviceStorageMonitorService分析 / 56
3.5.1 DiskStatsService分析 / 56
3.5.2 DeviceStorageManagerService分析 / 58
3.6 SamplingProfilerService分析 / 60
3.6.1 SamplingProfilerService構造函數分析 / 61
3.6.2 SamplingProfilerIntegration分析 / 62
3.7 ClipboardService分析 / 64
3.7.1 復製數據到剪貼闆 / 64
3.7.2 從剪切闆粘貼數據 / 67
3.7.3 CBS中的權限管理 / 69
3.8 本章小結 / 73
第4章 深入理解PackageManagerService / 74
4.1 概述 / 75
4.2 初識PackageManagerService / 76
4.3 PKMS的main函數分析 / 77
4.3.1 構造函數分析之前期準備工作 / 78
4.3.2 構造函數分析之掃描Package / 90
4.3.3 構造函數分析之掃尾工作 / 105
4.3.4 PKMS構造函數總結 / 105
4.4 APK Installation分析 / 105
4.4.1 adb install分析 / 105
4.4.2 pm分析 / 107
4.4.3 installPackageWithVerification函數分析 / 109
4.4.4 APK 安裝流程總結 / 121
4.4.5 Verification介紹 / 122
4.5 queryIntentActivities分析 / 124
4.5.1 Intent及IntentFilter介紹 / 124
4.5.2 Activity信息的管理 / 125
4.5.3 Intent 匹配查詢分析 / 128
4.5.4 queryIntentActivities總結 / 131
4.6 installd及UserManager介紹 / 131
4.6.1 installd介紹 / 131
4.6.2 UserManager介紹 / 136
4.7 本章學習指導 / 138
4.8 本章小結 / 138
第5章 深入理解PowerManagerService / 139
5.1 概述 / 140
5.2 初識PowerManagerService / 140
5.2.1 PMS構造函數分析 / 141
5.2.2 init分析 / 141
5.2.3 systemReady分析 / 147
5.2.4 BootComplete處理 / 148
5.2.5 初識PowerManagerService總結 / 149
5.3 PMS WakeLock分析 / 149
5.3.1 WakeLock客戶端分析 / 149
5.3.2 PMS acquireWakeLock分析 / 151
5.3.3 Power類及LightService類介紹 / 160
5.3.4 WakeLock總結 / 163
5.4 userActivity及Power按鍵處理分析 / 164
5.4.1 userActivity分析 / 164
5.4.2 Power按鍵處理分析 / 167
5.5 BatteryService及BatteryStatsService分析 / 168
5.5.1 BatteryService分析 / 169
5.5.2 BatteryStatsService分析 / 172
5.5.3 BatteryService及BatteryStatsService總結 / 182
5.6 本章學習指導 / 183
5.7 本章小結 / 183
第6章 深入理解ActivityManagerService / 184
6.1 概述 / 185
6.2 初識ActivityManagerService / 186
6.2.1 ActivityManagerService的main函數分析 / 187
6.2.2 AMS的 setSystemProcess分析 / 197
6.2.3 AMS的 installSystemProviders函數分析 / 202
6.2.4 AMS的 systemReady分析 / 211
6.2.5 初識ActivityManagerService總結 / 218
6.3 startActivity分析 / 219
6.3.1 從am說起 / 219
6.3.2 AMS的startActivityAndWait函數分析 / 221
6.3.3 startActivityLocked分析 / 230
6.4 Broadcast和BroadcastReceiver分析 / 265
6.4.1 registerReceiver流程分析 / 267
6.4.2 sendBroadcast流程分析 / 272
6.4.3 BROADCAST_INTENT_MSG消息處理函數 / 276
6.4.4 應用進程處理廣播分析 / 282
6.4.5 廣播處理總結 / 284
6.5 startService之按圖索驥 / 285
6.5.1 Service知識介紹 / 285
6.5.2 startService流程圖 / 286
6.6 AMS中的進程管理 / 287
6.6.1 Linux進程管理介紹 / 287
6.6.2 關於Android中的進程管理的介紹 / 289
6.6.3 AMS進程管理函數分析 / 294
6.6.4 AMS進程管理總結 / 305
6.7 App的 Crash處理 / 305
6.7.1 應用進程的Crash處理 / 306
6.7.2 AMS的handleApplicationCrash分析 / 306
6.7.3 AppDeathRecipient binderDied分析 / 309
6.7.4 App的Crash處理總結 / 313
6.8 本章學習指導 / 314
6.9 本章小結 / 315
第7章 深入理解ContentProvider / 316
7.1 概述 / 317
7.2 MediaProvider的啓動及創建 / 318
7.2.1 Context的getContentResolver函數分析 / 318
7.2.2 MediaStore.Image.Media的query函數分析 / 319
7.2.3 MediaProvider的啓動及創建總結 / 329
7.3 SQLite創建數據庫分析 / 330
7.3.1 SQLite及SQLiteDatabase傢族 / 330
7.3.2 MediaProvider創建數據庫分析 / 335
7.3.3 SQLiteDatabase創建數據庫的分析總結 / 344
7.4 Cursor 的query函數的實現分析 / 345
7.4.1 提取query關鍵點 / 346
7.4.2 MediaProvider 的query分析 / 349
7.4.3 query關鍵點分析 / 356
7.4.4 Cursor query實現分析總結 / 368
7.5 Cursor close函數實現分析 / 368
7.5.1 客戶端close的分析 / 369
7.5.2 服務端close的分析 / 371
7.5.3 finalize函數分析 / 372
7.5.4 Cursor close函數總結 / 373
7.6 ContentResolver openAssetFileDescriptor函數分析 / 373
7.6.1 openAssetFileDescriptor之客戶端調用分析 / 374
7.6.2 ContentProvider的 openTypedAssetFile函數分析 / 376
7.6.3 跨進程傳遞文件描述符的探討 / 379
7.6.4 openAssetFileDescriptor函數分析總結 / 384
7.7 本章學習指導 / 384
7.8 本章小結 / 385
第8章 深入理解ContentService和AccountManagerService / 386
8.1 概述 / 387
8.2 數據更新通知機製分析 / 387
8.2.1 初識ContentService / 388
8.2.2 ContentResovler 的registerContentObserver分析 / 389
8.2.3 ContentResolver的 notifyChange分析 / 391
8.2.4 數據更新通知機製總結和深入探討 / 393
8.3 AccountManagerService分析 / 395
8.3.1 初識AccountManagerService / 396
8.3.2 AccountManager addAccount分析 / 402
8.3.3 AccountManagerService的分析總結 / 414
8.4 數據同步管理SyncManager分析 / 415
8.4.1 初識SyncManager / 415
8.4.2 ContentResolver 的requestSync分析 / 424
8.4.3 數據同步管理SyncManager分析總結 / 436
8.5 本章學習指導 / 437
8.6 本章小結 / 437
“深入理解Android”係列書籍的規劃路綫圖 / 438
· · · · · · (
收起)