《深入理解Android:卷II》
基本資料
作者: 鄧凡平
出版社:機械工業出版社
ISBN:9787111389187
上架時間:2012-8-3
出版日期:2012 年8月
開本:16開
頁碼:1
版次:1-1
所屬分類: 電腦 > 軟體與程式設計 > 移動開發 > Android
更多關於 》》》《深入理解Android:卷II》
內容簡介
書籍
電腦書籍
《深入理解android:卷ii》是“深入理解android”系列的第二本,第一本書上市後得到了廣大讀者的高度評價,在android開發人員社群內口口相傳。本書不僅繼承了第一本的優點、改正了其在細微處存在的一些不足,而且還在寫作的總體思想上進行了創新,更強調從系統設計者的角度去分析android系統中各個模組內部的實現原理和工作機制。從具體內容上講,本書的重點是android framework的java層,對java層涉及的核心模組和服務進行了深入而細緻的分析。通過本書,讀者不僅能對android系統本身有更深入的理解,而且還能掌握分析大型複雜原始碼的能力。
全書共8章:第1章介紹了閱讀本書所需要做的準備工作,包括android 4.0源碼的下載和編譯、eclipse環境的搭建,以及android系統進程(system_process)的調試等;第2章對java binder和messagequeue的實現進行了深入分析;第3章詳細剖析了systemserver的工作原理,這些服務包括entropyservice、dropboxmanagerservice、diskstatsservice、devicestoragemonitorservice、samplingprofilerservice和clipboardservice;第4章對系統中負責package資訊查詢和apk安裝、卸載、更新等工作的服務packagemanagerservice進行了詳細分析;第5章則對android系統中負責電源管理的核心服務 powermanagerservice的原理進行了一番深入的分析;第6章以activitymanagerservice為分析重點,對它的啟動、activity的建立和啟動、broadcastreceiver的工作原理、android中的進程管理等內容展開了較為深入的研究;第7章對contentprovider的建立和啟動、sqlite、cursor query和close的實現等進行了深入分析;第8章以contentservice和accountmanagerservice為分析對象,介紹了資料更新通知機制的實現,以及賬戶管理和資料同步等相關知識。
目錄
《深入理解android:卷ii》
前 言
第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
本圖書資訊來源於:中國互動出版網