注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合深入理解Android:卷2

深入理解Android:卷2

深入理解Android:卷2

定 價:¥79.00

作 者: 鄧凡平 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 移動開發(fā)

ISBN: 9787111389187 出版時間: 2012-08-01 包裝: 平裝
開本: 16開 頁數(shù): 456 字數(shù):  

內(nèi)容簡介

  《深入理解Android:卷2》是“深入理解Android”系列的第2本,第1本書上市后獲得廣大讀者高度評價,在Android開發(fā)者社群內(nèi)口口相傳。本書不僅繼承了第1本書的優(yōu)點并改正了其在細微處存在的一些不足,而且還在寫作的總體思想上進行了創(chuàng)新,更強調(diào)從系統(tǒng)設(shè)計者的角度去分析Android系統(tǒng)中各個模塊內(nèi)部的實現(xiàn)原理和工作機制。從具體內(nèi)容上講,本書的重點是Android Framework的Java層,對Java層涉及的核心模塊和服務(wù)進行了深入而細致的分析。通過本書,讀者不僅能對Android系統(tǒng)本身有更深入的理解,而且還能掌握分析大型復(fù)雜源代碼的能力?!渡钊肜斫釧ndroid:卷2》一共8章:第1章介紹了閱讀本書所需要做的準備工作,包括Android 4.0源碼的下載和編譯、Eclipse環(huán)境的搭建,以及Android系統(tǒng)進程(system_process)的調(diào)試等;第2章對Java Binder和MessageQueue的實現(xiàn)進行了深入分析;第3章仔細剖析了SystemServer的工作原理,這些服務(wù)包括EntropyService、DropboxManagerService、DiskStatsService、DeviceStorageMonitorService、SamplingProfilerService和ClipboardService;第4章對系統(tǒng)中負責Package信息查詢和APK安裝、卸載、更新等工作的服務(wù)PackageManagerService進行了詳細分析;第5章則對Android系統(tǒng)中負責電源管理的核心服務(wù) PowerManagerService的原理進行了一番深入的分析;第6章以ActivityManagerService為分析重點,它的啟動、Activity的創(chuàng)建和啟動、BroadcastReceiver的工作原理、Android中的進程管理等內(nèi)容展開了較為深入的研究;第7章對ContentProvider的創(chuàng)建和啟動、SQLite、Cursor query和close的實現(xiàn)等進行了深入分析;第8章以ContentService和AccountManagerService為分析對象,介紹了數(shù)據(jù)更新通知機制的實現(xiàn),以及賬戶管理和數(shù)據(jù)同步等相關(guān)知識。

作者簡介

  鄧凡平,資深A(yù)ndroid開發(fā)工程師和系統(tǒng)工程師,熱衷于Android源代碼的研究,對Android的架構(gòu)設(shè)計和實現(xiàn)原理有非常深刻的認識和理解,經(jīng)驗十分豐富。《深入理解Android:卷I》的作者,同時也是“深入理解Android”系列圖書的總策劃。目前就職于國內(nèi)領(lǐng)先的Android企業(yè)中科創(chuàng)達(ThunderSoft),負責Android Framework的開發(fā)和維護。喜歡鉆研,樂于分享,活躍于CSDN、51CTO和開源中國等專業(yè)技術(shù)社區(qū),撰寫的Android Framework源碼分析的系列文章深受讀者歡迎。此外,他對Linux內(nèi)核、C/C++/Python相關(guān)的技術(shù),以及高性能網(wǎng)絡(luò)服務(wù)器和多核并行開發(fā)等也有一定的研究。

圖書目錄

前言
第1章 搭建Android源碼工作環(huán)境 / 1
1.1 Android系統(tǒng)架構(gòu) / 2
1.2 搭建開發(fā)環(huán)境 / 3
1.2.1 下載源碼 / 3
1.2.2 編譯源碼 / 4
1.2.3 利用Eclipse調(diào)試system_process / 5
1.3 本章小結(jié) / 11
第2章 深入理解Java Binder和MessageQueue / 12
2.1 概述 / 13
2.2 Java層中的Binder架構(gòu)分析 / 13
2.2.1 Binder架構(gòu)總覽 / 13
2.2.2 初始化Java層Binder框架 / 14
2.2.3 addService實例分析 / 17
2.2.4 Java層Binder架構(gòu)總結(jié) / 26
2.3 心系兩界的MessageQueue / 27
2.3.1 MessageQueue的創(chuàng)建 / 27
2.3.2 提取消息 / 28
2.3.3 nativePollOnce函數(shù)分析 / 31
2.3.4 MessageQueue總結(jié) / 41
2.4 本章小結(jié) / 42
第3章 深入理解SystemServer / 44
3.1  概述 / 45
3.2 SystemServer分析 / 45
3.2.1 main函數(shù)分析 / 45
3.2.2 Service群英會 / 48
3.3 EntropyService分析 / 49
3.4 DropBoxManagerService分析 / 50
3.4.1 DBMS構(gòu)造函數(shù)分析 / 51
3.4.2 dropbox日志文件的添加 / 51
3.4.3 DBMS和settings數(shù)據(jù)庫 / 56
3.5 DiskStatsService和DeviceStorageMonitorService分析 / 56
3.5.1 DiskStatsService分析 / 56
3.5.2 DeviceStorageManagerService分析 / 58
3.6 SamplingProfilerService分析 / 60
3.6.1 SamplingProfilerService構(gòu)造函數(shù)分析 / 61
3.6.2 SamplingProfilerIntegration分析 / 62
3.7 ClipboardService分析 / 64
3.7.1 復(fù)制數(shù)據(jù)到剪貼板  / 64
3.7.2 從剪切板粘貼數(shù)據(jù) / 67
3.7.3 CBS中的權(quán)限管理 / 69
3.8  本章小結(jié) / 73
第4章 深入理解PackageManagerService / 74
4.1 概述 / 75
4.2 初識PackageManagerService / 76
4.3 PKMS的main函數(shù)分析 / 77
4.3.1 構(gòu)造函數(shù)分析之前期準備工作 / 78
4.3.2 構(gòu)造函數(shù)分析之掃描Package / 90
4.3.3 構(gòu)造函數(shù)分析之掃尾工作 / 105
4.3.4 PKMS構(gòu)造函數(shù)總結(jié) / 105
4.4 APK Installation分析 / 105
4.4.1 adb install分析 / 105
4.4.2 pm分析 / 107
4.4.3 installPackageWithVerification函數(shù)分析 / 109
4.4.4 APK 安裝流程總結(jié) / 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總結(jié) / 131
4.6 installd及UserManager介紹 / 131
4.6.1 installd介紹 / 131
4.6.2 UserManager介紹 / 136
4.7 本章學習指導(dǎo) / 138
4.8 本章小結(jié) / 138
第5章 深入理解PowerManagerService / 139
5.1 概述 / 140
5.2 初識PowerManagerService / 140
5.2.1 PMS構(gòu)造函數(shù)分析 / 141
5.2.2 init分析 / 141
5.2.3 systemReady分析 / 147
5.2.4 BootComplete處理 / 148
5.2.5 初識PowerManagerService總結(jié) / 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總結(jié) / 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總結(jié) / 182
5.6 本章學習指導(dǎo) / 183
5.7 本章小結(jié) / 183
第6章 深入理解ActivityManagerService / 184
6.1 概述 / 185
6.2 初識ActivityManagerService / 186
6.2.1 ActivityManagerService的main函數(shù)分析 / 187
6.2.2 AMS的 setSystemProcess分析 / 197
6.2.3 AMS的 installSystemProviders函數(shù)分析 / 202
6.2.4 AMS的 systemReady分析 / 211
6.2.5 初識ActivityManagerService總結(jié) / 218
6.3 startActivity分析 / 219
6.3.1 從am說起 / 219
6.3.2 AMS的startActivityAndWait函數(shù)分析 / 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消息處理函數(shù) / 276
6.4.4 應(yīng)用進程處理廣播分析 / 282
6.4.5 廣播處理總結(jié) / 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 關(guān)于Android中的進程管理的介紹 / 289
6.6.3 AMS進程管理函數(shù)分析 / 294
6.6.4 AMS進程管理總結(jié) / 305
6.7 App的 Crash處理 / 305
6.7.1 應(yīng)用進程的Crash處理 / 306
6.7.2 AMS的handleApplicationCrash分析 / 306
6.7.3 AppDeathRecipient binderDied分析 / 309
6.7.4 App的Crash處理總結(jié) / 313
6.8 本章學習指導(dǎo) / 314
6.9 本章小結(jié) / 315
第7章 深入理解ContentProvider / 316
7.1 概述 / 317
7.2 MediaProvider的啟動及創(chuàng)建 / 318
7.2.1 Context的getContentResolver函數(shù)分析 / 318
7.2.2 MediaStore.Image.Media的query函數(shù)分析 / 319
7.2.3 MediaProvider的啟動及創(chuàng)建總結(jié) / 329
7.3 SQLite創(chuàng)建數(shù)據(jù)庫分析  / 330
7.3.1 SQLite及SQLiteDatabase家族 / 330
7.3.2 MediaProvider創(chuàng)建數(shù)據(jù)庫分析 / 335
7.3.3 SQLiteDatabase創(chuàng)建數(shù)據(jù)庫的分析總結(jié) / 344
7.4 Cursor 的query函數(shù)的實現(xiàn)分析 / 345
7.4.1 提取query關(guān)鍵點 / 346
7.4.2 MediaProvider 的query分析 / 349
7.4.3 query關(guān)鍵點分析 / 356
7.4.4 Cursor query實現(xiàn)分析總結(jié) / 368
7.5 Cursor close函數(shù)實現(xiàn)分析 / 368
7.5.1 客戶端close的分析 / 369
7.5.2 服務(wù)端close的分析 / 371
7.5.3 finalize函數(shù)分析 / 372
7.5.4 Cursor close函數(shù)總結(jié) / 373
7.6 ContentResolver openAssetFileDescriptor函數(shù)分析 / 373
7.6.1 openAssetFileDescriptor之客戶端調(diào)用分析 / 374
7.6.2 ContentProvider的 openTypedAssetFile函數(shù)分析 / 376
7.6.3 跨進程傳遞文件描述符的探討 / 379
7.6.4 openAssetFileDescriptor函數(shù)分析總結(jié) / 384
7.7 本章學習指導(dǎo) / 384
7.8 本章小結(jié) / 385
第8章 深入理解ContentService和AccountManagerService / 386
8.1 概述 / 387
8.2 數(shù)據(jù)更新通知機制分析 / 387
8.2.1 初識ContentService / 388
8.2.2 ContentResovler 的registerContentObserver分析 / 389
8.2.3 ContentResolver的 notifyChange分析 / 391
8.2.4 數(shù)據(jù)更新通知機制總結(jié)和深入探討 / 393
8.3 AccountManagerService分析 / 395
8.3.1 初識AccountManagerService / 396
8.3.2 AccountManager addAccount分析 / 402
8.3.3 AccountManagerService的分析總結(jié) / 414
8.4 數(shù)據(jù)同步管理SyncManager分析 / 415
8.4.1 初識SyncManager / 415
8.4.2 ContentResolver 的requestSync分析 / 424
8.4.3 數(shù)據(jù)同步管理SyncManager分析總結(jié) / 436
8.5 本章學習指導(dǎo) / 437
8.6 本章小結(jié) / 437
“深入理解Android”系列書籍的規(guī)劃路線圖 / 438 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號