深入理解Android

出版時(shí)間:2012-8  出版社:機(jī)械工業(yè)出版社  作者:鄧凡平  頁(yè)數(shù):440  
Tag標(biāo)簽:無(wú)  

前言

前言:本書(shū)主要內(nèi)容及特色    本書(shū)是筆者“深入理解Android”系列的第二本,這一本將關(guān)注重點(diǎn)放在了Android Framework的Java層。在眾多可供分析的知識(shí)點(diǎn)中,筆者另辟蹊徑,選擇了SystemServer中的服務(wù)(Service)作為主人公。這些Service大體可由圖1來(lái)表示。  圖1  SystemServer中的服務(wù)    由圖1可知,SystemServer中的服務(wù)可劃分為7大類共43項(xiàng)(包括Watchdog在內(nèi)):    位于第一大類的是Android的核心服務(wù),如ActivityManagerService、WindowManager-Service等。    位于第二大類的是和通信相關(guān)的服務(wù),如Wifi的相關(guān)服務(wù)、Telephone的相關(guān)服務(wù)。    位于第三大類的是和系統(tǒng)功能相關(guān)的服務(wù),如AudioService、MountService、UsbService等。    位于第四大類的是BatteryService、VibratorService等服務(wù)。    位于第五大類的是EntropyService、DiskStatsService、Watchdog等相對(duì)獨(dú)立的服務(wù)。    位于第六大類的是藍(lán)牙服務(wù)。    位于第七大類的是UI方面的服務(wù),如狀態(tài)欄服務(wù)、通知管理服務(wù)等。    以上這些服務(wù)就是Android Framework Java層的核心。毫不夸張地說(shuō),它們也是Android系統(tǒng)的基石。另外,這些服務(wù)的內(nèi)容遠(yuǎn)非一本書(shū)所能囊括。作為Android Java層Framework分析的先頭部隊(duì),本書(shū)涵蓋了以下內(nèi)容:    第1章,介紹了閱讀本書(shū)需要做的一些準(zhǔn)備工作,包括Android 4.0源碼的下載和編譯、Eclipse開(kāi)發(fā)環(huán)境的搭建,以及Android系統(tǒng)進(jìn)程(system_process)的調(diào)試等。    第2章,介紹了Java Binder和MessageQueue的實(shí)現(xiàn)。    第3章,介紹了SystemServer,并分析了圖1中第五類包含的服務(wù)的工作原理。這些服務(wù)包括EntropyService、DropBoxManagerService、DiskStatsService、DeviceStorageMonitorService、SamplingProfilerService和ClipboardService。    第4章,分析了PackageManagerService,該服務(wù)負(fù)責(zé)Android系統(tǒng)中的Package信息查詢和APK安裝、卸載、更新等方面的工作。    第5章,講解了PowerManagerService,它是Android中電源管理的核心服務(wù)。本章對(duì)其中的WakeLock、Power按鍵處理、BatteryStatsService和BatteryService都做了一番較為深入的分析。    第6章,以ActivityManagerService為分析重點(diǎn),該服務(wù)是Android 的核心服務(wù)。本章對(duì)ActivityManagerService的啟動(dòng)、Activity的創(chuàng)建和啟動(dòng)、BroadcastReceiver的工作原理、Android中的進(jìn)程管理等內(nèi)容進(jìn)行了較為深入的研究。    第7章,對(duì)ContentProvider的創(chuàng)建和啟動(dòng)、SQLite相關(guān)知識(shí)、Cursor query和close的實(shí)現(xiàn)等進(jìn)行了較為深入的分析。    第8章,以ContentService和AccountManagerService為分析對(duì)象,介紹了數(shù)據(jù)更新通知機(jī)制的實(shí)現(xiàn)、賬戶管理和數(shù)據(jù)同步等方面的知識(shí)。    圖1中的其他服務(wù)將會(huì)在“深入理解Android”系列的其他書(shū)中詳細(xì)分析。該系列書(shū)的規(guī)劃請(qǐng)見(jiàn)本書(shū)最后面的“深入理解Android系列圖書(shū)路線圖”。    本書(shū)以直接剖析源碼的方式進(jìn)行講解,旨在引領(lǐng)讀者一步步深入于Android系統(tǒng)中相關(guān)模塊的內(nèi)部原理,去理解它們是如何實(shí)現(xiàn)、如何工作的。在分析過(guò)程中,筆者根據(jù)個(gè)人研究Android代碼的心得,采用了精簡(jiǎn)流程和逐個(gè)擊破的方法。同時(shí),筆者還提出了一些難度不大的知識(shí)點(diǎn)、相關(guān)的補(bǔ)充閱讀資料,甚至筆者在實(shí)際項(xiàng)目中遇到的開(kāi)放式問(wèn)題,留給讀者自行研究和探討??傊?,筆者希望讀者在閱讀完本書(shū)后,至少能有以下兩個(gè)收獲:    能從“基于Android并高于Android”的角度來(lái)看待和分析Android。    能初步具有大型復(fù)雜代碼的分析能力。讀者對(duì)象    適合閱讀本書(shū)的讀者包括:    (1)Android應(yīng)用開(kāi)發(fā)工程師    雖然應(yīng)用開(kāi)發(fā)工程師平常接觸的多是Android SDK,但是只有更深入地理解了Android系統(tǒng)運(yùn)行原理,才能寫(xiě)出更健壯、更高效的模塊。    (2)Android系統(tǒng)開(kāi)發(fā)工程師    系統(tǒng)開(kāi)發(fā)工程師常常需要深入理解系統(tǒng)的運(yùn)轉(zhuǎn)過(guò)程,而本書(shū)所涉及的內(nèi)容正是他們?cè)诠ぷ骱蛯W(xué)習(xí)中最想了解的。那些對(duì)具體服務(wù)(如ActivityManagerService、PackageManagerService)感興趣的讀者,也可以單刀直入,閱讀本書(shū)相關(guān)章節(jié)。    (3)對(duì)Android系統(tǒng)運(yùn)行原理感興趣的讀者    這部分讀者需要具有基本的Android開(kāi)發(fā)知識(shí)基礎(chǔ)。如何閱讀本書(shū)    本書(shū)是針對(duì)Android源碼進(jìn)行分析的,而源碼文件所在的路徑一般都很長(zhǎng),例如,文件AndroidRuntime.cpp的真實(shí)路徑是frameworks/base/core/jni/AndroidRuntime.cpp。為了行文方便,在各章節(jié)開(kāi)頭,均把本章涉及的源碼路徑全部列出,而在具體分析源碼時(shí),則只列出該源碼的文件名。例如:    [-->AndroidRuntime.cpp]    //這里是源碼和一些注釋    另外,本書(shū)在描述類之間的關(guān)系及函數(shù)調(diào)用流程上,使用了UML的靜態(tài)類圖及序列圖。UML是一個(gè)強(qiáng)大的工具,但它的建模規(guī)范過(guò)于煩瑣,為更簡(jiǎn)單清晰地描述事情的本質(zhì),本書(shū)并未完全遵循UML的建模規(guī)范。這里僅舉一例,如圖2所示。 圖2  UML示例圖    在圖2中:    外部類內(nèi)部的方框用于表示內(nèi)部類。另外,“外部類A.內(nèi)部類B”也用于表示內(nèi)部類。    接口和普通類用同一種框圖表示。    本書(shū)所使用的UML圖都比較簡(jiǎn)單,讀者不必花費(fèi)大量時(shí)間專門(mén)學(xué)習(xí)UML。    這里有必要提醒一下,要閱讀此書(shū),應(yīng)具有Java基本知識(shí)。    另外,本書(shū)和《深入理解Android 卷I》(簡(jiǎn)稱“卷I”)部分章節(jié)有一定聯(lián)系,主要集中在Binder和MessageQueue部分。讀者可將“卷I中”這部分內(nèi)容作為補(bǔ)充閱讀資料來(lái)學(xué)習(xí)。卷I部分內(nèi)容的電子版下載地址為:    http://download.csdn.net/detail/hzbooks/3677793。    本書(shū)涉及的Android 4.0源碼以及一些開(kāi)發(fā)工具的下載地址為:http://115.com/folder/fauqpj0t#Android-ICS-SOURCE-CODE??闭`和支持    由于作者的水平有限,加之寫(xiě)作時(shí)間倉(cāng)促,書(shū)中難免會(huì)出現(xiàn)一些錯(cuò)誤或不準(zhǔn)確的地方,懇請(qǐng)讀者批評(píng)和指正。若有問(wèn)題,可通過(guò)郵箱或在博客上留言與筆者共同討論。筆者的聯(lián)系方式是:    郵箱:fanping.deng@gmail.com    博客:blog.csdn.net/innost、cnblogs.net/innost和http://my.oschina.net/innost/blog致謝    本書(shū)即將付梓!首先要感謝楊福川編輯的大力支持。另外,要感謝本書(shū)的審稿編輯姜影。    再一次感謝我所在的中科創(chuàng)達(dá)(ThunderSoft)公司。有幸工作在這樣一個(gè)互相信任、互相鼓勵(lì)、平等和開(kāi)放式的環(huán)境中,我才能完成本書(shū)。公司領(lǐng)導(dǎo)所給予的機(jī)會(huì)和挑戰(zhàn),時(shí)時(shí)鞭策著我保持虛心學(xué)習(xí)的心態(tài)。此外,我所在團(tuán)隊(duì)的各位同仁也給予了我不少支持和幫助。本書(shū)出版之日,將是我們團(tuán)隊(duì)為之努力奮斗的Android系統(tǒng)高效、穩(wěn)定運(yùn)行于客戶手機(jī)之時(shí)!    一如既往地感謝妻子和家人,他們是我?jiàn)^斗的動(dòng)力。    謝謝在人生和職業(yè)道路上曾給予我指導(dǎo)的諸位師長(zhǎng)。    當(dāng)然,最應(yīng)感謝的還是肯花費(fèi)寶貴時(shí)間和精力關(guān)注本書(shū)的讀者,你們的意見(jiàn)和建議,將會(huì)使我獲得巨大的精神財(cái)富!鄧凡平  于北京,  中科創(chuàng)達(dá)(ThunderSoft)公司

內(nèi)容概要

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

作者簡(jiǎn)介

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

書(shū)籍目錄

前言
第1章 搭建Android源碼工作環(huán)境
1.1 Android系統(tǒng)架構(gòu)
1.2 搭建開(kāi)發(fā)環(huán)境
1.2.1 下載源碼
1.2.2 編譯源碼
1.2.3 利用Eclipse調(diào)試system_process
1.3 本章小結(jié)
第2章 深入理解Java Binder和MessageQueue
2.1 概述
2.2 Java層中的Binder架構(gòu)分析
2.2.1 Binder架構(gòu)總覽
2.2.2 初始化Java層Binder框架
2.2.3 addService實(shí)例分析
2.2.4 Java層Binder架構(gòu)總結(jié)
2.3 心系兩界的MessageQueue
2.3.1 MessageQueue的創(chuàng)建
2.3.2 提取消息
2.3.3 nativePollOnce函數(shù)分析
2.3.4 MessageQueue總結(jié)
2.4 本章小結(jié)
第3章 深入理解SystemServer
3.1 概述
3.2 SystemServer分析
3.2.1 main函數(shù)分析
3.2.2 Service群英會(huì)
3.3 EntropyService分析
3.4 DropBoxManagerService分析
3.4.1 DBMS構(gòu)造函數(shù)分析
3.4.2 dropbox日志文件的添加
3.4.3 DBMS和settings數(shù)據(jù)庫(kù)
3.5 DiskStatsService和DeviceStorageMonitorService分析
3.5.1 DiskStatsService分析
3.5.2 DeviceStorageManagerService分析
3.6 SamplingProfilerService分析
3.6.1 SamplingProfilerService構(gòu)造函數(shù)分析
3.6.2 SamplingProfilerIntegration分析
3.7 ClipboardService分析
3.7.1 復(fù)制數(shù)據(jù)到剪貼板
3.7.2 從剪切板粘貼數(shù)據(jù)
3.7.3 CBS中的權(quán)限管理
3.8 本章小結(jié)
第4章 深入理解PackageManagerService
4.1 概述
4.2 初識(shí)PackageManagerService
4.3 PKMS的main函數(shù)分析
4.3.1 構(gòu)造函數(shù)分析之前期準(zhǔn)備工作
4.3.2 構(gòu)造函數(shù)分析之掃描Package
4.3.3 構(gòu)造函數(shù)分析之掃尾工作
4.3.4 PKMS構(gòu)造函數(shù)總結(jié)
4.4 APK Installation分析
4.4.1 adb install分析
4.4.2 pm分析
4.4.3 installPackageWithVerification函數(shù)分析
4.4.4 APK 安裝流程總結(jié)
4.4.5 Verification介紹
4.5 queryIntentActivities分析
4.5.1 Intent及IntentFilter介紹
4.5.2 Activity信息的管理
4.5.3 Intent 匹配查詢分析
4.5.4 queryIntentActivities總結(jié)
4.6 installd及UserManager介紹
4.6.1 installd介紹
4.6.2 UserManager介紹
4.7 本章學(xué)習(xí)指導(dǎo)
4.8 本章小結(jié)
第5章 深入理解PowerManagerService
5.1 概述
5.2 初識(shí)PowerManagerService
5.2.1 PMS構(gòu)造函數(shù)分析
5.2.2 init分析
5.2.3 systemReady分析
5.2.4 BootComplete處理
5.2.5 初識(shí)PowerManagerService總結(jié)
5.3 PMS WakeLock分析
5.3.1 WakeLock客戶端分析
5.3.2 PMS acquireWakeLock分析
5.3.3 Power類及LightService類介紹
5.3.4 WakeLock總結(jié)
5.4 userActivity及Power按鍵處理分析
5.4.1 userActivity分析
5.4.2 Power按鍵處理分析
5.5 BatteryService及BatteryStatsService分析
5.5.1 BatteryService分析
5.5.2 BatteryStatsService分析
5.5.3 BatteryService及BatteryStatsService總結(jié)
5.6 本章學(xué)習(xí)指導(dǎo)
5.7 本章小結(jié)
第6章 深入理解ActivityManagerService
6.1 概述
6.2 初識(shí)ActivityManagerService
6.2.1 ActivityManagerService的main函數(shù)分析
6.2.2 AMS的 setSystemProcess分析
6.2.3 AMS的 installSystemProviders函數(shù)分析
6.2.4 AMS的 systemReady分析
6.2.5 初識(shí)ActivityManagerService總結(jié)
6.3 startActivity分析
6.3.1 從am說(shuō)起
6.3.2 AMS的startActivityAndWait函數(shù)分析
6.3.3 startActivityLocked分析
6.4 Broadcast和BroadcastReceiver分析
6.4.1 registerReceiver流程分析
6.4.2 sendBroadcast流程分析
6.4.3 BROADCAST_INTENT_MSG消息處理函數(shù)
6.4.4 應(yīng)用進(jìn)程處理廣播分析
6.4.5 廣播處理總結(jié)
6.5 startService之按圖索驥
6.5.1 Service知識(shí)介紹
6.5.2 startService流程圖
6.6 AMS中的進(jìn)程管理
6.6.1 Linux進(jìn)程管理介紹
6.6.2 關(guān)于Android中的進(jìn)程管理的介紹
6.6.3 AMS進(jìn)程管理函數(shù)分析
6.6.4 AMS進(jìn)程管理總結(jié)
6.7 App的 Crash處理
6.7.1 應(yīng)用進(jìn)程的Crash處理
6.7.2 AMS的handleApplicationCrash分析
6.7.3 AppDeathRecipient binderDied分析
6.7.4 App的Crash處理總結(jié)
6.8 本章學(xué)習(xí)指導(dǎo)
6.9 本章小結(jié)
第7章 深入理解ContentProvider
7.1 概述
7.2 MediaProvider的啟動(dòng)及創(chuàng)建
7.2.1 Context的getContentResolver函數(shù)分析
7.2.2 MediaStore.Image.Media的query函數(shù)分析
7.2.3 MediaProvider的啟動(dòng)及創(chuàng)建總結(jié)
7.3 SQLite創(chuàng)建數(shù)據(jù)庫(kù)分析
7.3.1 SQLite及SQLiteDatabase家族
7.3.2 MediaProvider創(chuàng)建數(shù)據(jù)庫(kù)分析
7.3.3 SQLiteDatabase創(chuàng)建數(shù)據(jù)庫(kù)的分析總結(jié)
7.4 Cursor 的query函數(shù)的實(shí)現(xiàn)分析
7.4.1 提取query關(guān)鍵點(diǎn)
7.4.2 MediaProvider 的query分析
7.4.3 query關(guān)鍵點(diǎn)分析
7.4.4 Cursor query實(shí)現(xiàn)分析總結(jié)
7.5 Cursor close函數(shù)實(shí)現(xiàn)分析
7.5.1 客戶端close的分析
7.5.2 服務(wù)端close的分析
7.5.3 finalize函數(shù)分析
7.5.4 Cursor close函數(shù)總結(jié)
7.6 ContentResolver openAssetFileDescriptor函數(shù)分析
7.6.1 openAssetFileDescriptor之客戶端調(diào)用分析
7.6.2 ContentProvider的 openTypedAssetFile函數(shù)分析
7.6.3 跨進(jìn)程傳遞文件描述符的探討
7.6.4 openAssetFileDescriptor函數(shù)分析總結(jié)
7.7 本章學(xué)習(xí)指導(dǎo)
7.8 本章小結(jié)
第8章 深入理解ContentService和AccountManagerService
8.1 概述
8.2 數(shù)據(jù)更新通知機(jī)制分析
8.2.1 初識(shí)ContentService
8.2.2 ContentResovler 的registerContentObserver分析
8.2.3 ContentResolver的 notifyChange分析
8.2.4 數(shù)據(jù)更新通知機(jī)制總結(jié)和深入探討
8.3 AccountManagerService分析
8.3.1 初識(shí)AccountManagerService
8.3.2 AccountManager addAccount分析
8.3.3 AccountManagerService的分析總結(jié)
8.4 數(shù)據(jù)同步管理SyncManager分析
8.4.1 初識(shí)SyncManager
8.4.2 ContentResolver 的requestSync分析
8.4.3 數(shù)據(jù)同步管理SyncManager分析總結(jié)
8.5 本章學(xué)習(xí)指導(dǎo)
8.6 本章小結(jié)
“深入理解Android”系列書(shū)籍的規(guī)劃路線圖

章節(jié)摘錄

版權(quán)頁(yè):   插圖:   2.IntentFilter介紹 “求職方”需要填寫(xiě)IntentFilter來(lái)表達(dá)自己的訴求。Android規(guī)定了3項(xiàng)內(nèi)容。 Action:“求職方”支持的Intent動(dòng)作(和Intent中的Action對(duì)應(yīng))。 Category:“求職方”支持的Intent種類(和Intent的Category對(duì)應(yīng))。 Data:求職方支持的Intent數(shù)據(jù)(和Intent的Data對(duì)應(yīng),包括URI和MIME類型)。 至此,獵頭公司已有了需求,現(xiàn)在又有了求職者的信息,馬上要做的工作就是匹配查詢。在Android中,該工作被稱為Intent Resolution。由于現(xiàn)在及未來(lái)人才都是最寶貴的資源,因此獵頭公司在做匹配工作時(shí),將以Intent Filter列出的3項(xiàng)內(nèi)容為參考標(biāo)準(zhǔn),具體步驟如下: 首先匹配IntentFilter的Action,如果Intent設(shè)置的Action不滿足IntentFilter的Action,則匹配失敗。如果IntentFilter未設(shè)定Action,則匹配成功。 然后檢查IntentFilter的Category,匹配方法同Action的匹配,唯一有些例外的是Category為CATEGORY_DEFAULT的情況。 最后檢查Data。Data的匹配過(guò)程比較煩瑣,因?yàn)樗虸ntentFilter設(shè)置的Data內(nèi)容有關(guān),見(jiàn)接下來(lái)的介紹。 IntentFilter中的Data可以包括兩個(gè)內(nèi)容。 URI:完整格式為“scheme://host:port/path”,包含4個(gè)部分,scheme、host、port和path。其中host和port合起來(lái)標(biāo)識(shí)URI authority,用于指明服務(wù)器的網(wǎng)絡(luò)地址(IP加端口號(hào))。由于uri最多可包含4個(gè)部分,因此要根據(jù)情況相應(yīng)部分做匹配檢查。Date type:指定數(shù)據(jù)的MIME類型。 要特別注意的是,uri中也可以攜帶數(shù)據(jù)的類型信息,所以在匹配過(guò)程中,還需要考慮uri中指定的數(shù)據(jù)類型。 提示關(guān)于具體的匹配流程,請(qǐng)讀者務(wù)必閱讀SDK docs/guide/topics/intents/intents-filters.html中的說(shuō)明。 4.5.2 Activity信息的管理 前面在介紹PKMS掃描APK時(shí)提到,PKMS將解析得到的package私有的Activity信息加入到自己的數(shù)據(jù)結(jié)構(gòu)mActivities中保存。

媒體關(guān)注與評(píng)論

市面上關(guān)于Android源碼分析的書(shū)非常多,但是沒(méi)有一本書(shū)的分析粒度像本書(shū)這樣細(xì)致。Android系統(tǒng)本身非常龐大,源代碼錯(cuò)綜復(fù)雜,的確很難想象僅靠一本書(shū)就能透徹分析整個(gè)系統(tǒng)的原理?!吧钊肜斫釧ndroid”系列圖書(shū)考慮到了這一點(diǎn),于是每一本書(shū)只專注于一個(gè)大的主題,卷I和卷II關(guān)注的都是Android的框架層,卷I針對(duì)的是Native Framework,卷II針對(duì)的是Java Framework。如果想從Android系統(tǒng)設(shè)計(jì)者的角度徹底理解整個(gè)系統(tǒng)的架構(gòu)思想和設(shè)計(jì)原理,以及系統(tǒng)中各個(gè)服務(wù)和模塊之間錯(cuò)綜復(fù)雜的關(guān)系,“深入理解Android”系列圖書(shū)應(yīng)該是目前最好的選擇之一!——51CTO移動(dòng)開(kāi)發(fā)頻道“深入理解Android”系列的卷I上市后,既叫好,又叫座,在Android開(kāi)發(fā)者圈子里反響強(qiáng)烈。從Android源代碼分析的角度來(lái)講,該系列書(shū)從內(nèi)容和分析方法上確實(shí)值得稱道,不僅能體現(xiàn)作者的技術(shù)水準(zhǔn),而且能看出作者的用心良苦。在內(nèi)容細(xì)節(jié)和作者自己對(duì)Android系統(tǒng)的認(rèn)識(shí)深入程度上,卷II在卷I更上一層樓,內(nèi)容更加精彩。不僅深入地分析了Java Framework層各種服務(wù)和模塊的工作原理和實(shí)現(xiàn)機(jī)制,而且還理清了它們之間的關(guān)系。對(duì)于想提高Android開(kāi)發(fā)水平的讀者來(lái)說(shuō),本書(shū)值得反復(fù)研讀!——開(kāi)源中國(guó)社區(qū)

編輯推薦

《深入理解Android:卷2》編輯推薦:經(jīng)典暢銷書(shū)《深入理解Android:卷I》姊妹篇,51CTO移動(dòng)開(kāi)發(fā)頻道和開(kāi)源中國(guó)社區(qū)一致鼎力推薦!從系統(tǒng)設(shè)計(jì)者的角度對(duì)Java Framework包含的重要模塊和服務(wù)的源代碼進(jìn)行細(xì)致剖析,深刻揭示其實(shí)現(xiàn)原理和工作機(jī)制。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    深入理解Android PDF格式下載


用戶評(píng)論 (總計(jì)85條)

 
 

  •   Android深入理解第二卷,很經(jīng)典的一套書(shū)。
  •   書(shū)的內(nèi)容很不錯(cuò),很適合研究android framework的人。
  •   適合有android開(kāi)發(fā)基礎(chǔ)的人
  •   是針對(duì)android4.0代碼講解的,不錯(cuò)!好書(shū)。
  •   這是一本對(duì)了解Framework層非常實(shí)用的一本書(shū),當(dāng)當(dāng)?shù)奈锪饕卜浅??,昨天下班才下的訂單,上午就到了?/li>
  •   想深入了解系統(tǒng)的可以看看
  •   講的比較細(xì),適合想深入了解的同學(xué); 其它的不說(shuō)了,買(mǎi)了自己看吧,很不錯(cuò)的
  •   學(xué)習(xí)andoird framework的好資料
  •   內(nèi)容詳細(xì),但門(mén)檻較高,需要有一定的基礎(chǔ)知識(shí)才能理解。
  •   適合看完一卷后再看
  •   這本書(shū)是基于安卓4.0講解的,與我現(xiàn)在的工作比較吻合
  •   卷1寫(xiě)得很好,卷2應(yīng)當(dāng)不錯(cuò),只是尚未翻閱,不便評(píng)論。
  •   還在看卷一,但是卷一不錯(cuò)卷二也應(yīng)該可以吧~書(shū)的質(zhì)量很好
  •   剛?cè)腴T(mén) 等多做幾個(gè)小項(xiàng)目練習(xí)后在研究研究
  •   很好的一本書(shū)。正在研究。
  •   想擴(kuò)展自己的研究層面的一本書(shū)
  •   經(jīng)典中的經(jīng)典, 安卓必看
  •   這本書(shū)講得比較深 要有基礎(chǔ)才看得懂
  •   適合希望提高水平成為高手的開(kāi)發(fā)者
  •   書(shū)不錯(cuò),內(nèi)容灰常好,有幫助,就是書(shū)的質(zhì)量稍微差點(diǎn)~ 總體很不錯(cuò),值得入手~加油
  •   準(zhǔn)備閱讀準(zhǔn)備閱讀
  •   很好,認(rèn)真閱讀中...
  •   需要點(diǎn)時(shí)間來(lái)閱讀
  •   沒(méi)有直徑,不懂E文,只有靠看走在技術(shù)前沿的書(shū)。
  •   如果沒(méi)有接觸過(guò)底層,可以看看,講的還是比較清晰的,雖然有一部分我也沒(méi)太看懂
  •   書(shū)是正版,很滿意,享用中
  •   紙張和內(nèi)容還不錯(cuò)。
  •   正在看,內(nèi)容非常好
  •   這個(gè)作為工具用書(shū) 感覺(jué)很好 發(fā)貨也快 一直選擇當(dāng)當(dāng)網(wǎng)
  •   還是能學(xué)到不少東西的,建議購(gòu)買(mǎi)
  •   剛收到就來(lái)確認(rèn)了,書(shū)不錯(cuò),當(dāng)當(dāng)物流也很滿意,全5分,沒(méi)的說(shuō)。
  •   too much copy
  •   是正版,很好,上午10點(diǎn)訂的,下午3點(diǎn)就到了,真TM快
  •   幫LG買(mǎi)的工具書(shū),希望對(duì)他有幫助。
  •   看了第一冊(cè)感覺(jué)還好
  •   Famewok必看
  •   第一本很好,就買(mǎi)了第二本老大要求必須看的書(shū),所以還是買(mǎi)了!
  •   書(shū)非常好,就是有點(diǎn)深?yuàn)W。
  •   書(shū)不錯(cuò)哦,印刷差點(diǎn)
  •   聽(tīng)別人說(shuō)很好,買(mǎi)來(lái)先收藏。
  •   說(shuō)實(shí)在的,學(xué)習(xí)android這種開(kāi)源的東西,如果有比較好的功底,還是研究源碼比較好,自己研究了,自己才能理解。
  •   當(dāng)當(dāng)服務(wù)真的是很到位,然后評(píng)價(jià)一下這書(shū),這書(shū)android講得深了些,對(duì)于初級(jí)朋友看,建議不太適合。
  •   對(duì)于android底層開(kāi)發(fā)人員有很大幫助
  •   詳細(xì)介紹了framework層的內(nèi)容
  •   對(duì)基礎(chǔ)服務(wù)的運(yùn)行過(guò)程進(jìn)行了分析。
  •   還不錯(cuò)吧,比較深入,部分內(nèi)容不太好懂
  •   準(zhǔn)備入手學(xué)習(xí)Andoid。這個(gè)書(shū)介紹的不錯(cuò)。只有了解系統(tǒng)運(yùn)作,才能更好地用好Andoid
  •   這次都是服務(wù)類的
  •   挺好的,適合有一定開(kāi)發(fā)基礎(chǔ)的人購(gòu)買(mǎi)。
  •   紙張沒(méi)有卷一來(lái)的好,感覺(jué)看起來(lái)不是很舒服.快遞倒是很快.晚上訂的隔天早上就來(lái)了
  •   慕名買(mǎi)的,看過(guò)卷一,卷二應(yīng)該也不錯(cuò)
  •   書(shū)忒難了,自以為工作3年,可以自如的看懂,發(fā)現(xiàn)自己對(duì)這底層無(wú)比陌生。得慢慢沉下心來(lái)消化了
  •   沒(méi)仔細(xì)看,不過(guò)覺(jué)得內(nèi)容挺不錯(cuò)。
  •   內(nèi)容較深!適合搞研究!
  •   看完后再做詳細(xì)評(píng)論
  •   終于拿到這本書(shū)了,粗略瀏覽了下正是想要了解的內(nèi)容,真心不錯(cuò)
  •   有深度,需要一定基礎(chǔ) 適合細(xì)細(xì)研讀
  •   需要更深層次了解的,才需要看
  •   內(nèi)容夠深,紙質(zhì)略差
  •   內(nèi)容整體還是滿意,就是印刷紙張有點(diǎn)差,
  •   還不錯(cuò),再看中....
  •   買(mǎi)了很久了,一直沒(méi)時(shí)間看
  •   書(shū)寫(xiě)的不錯(cuò),學(xué)習(xí)引導(dǎo)
  •   送貨員態(tài)度不怎么樣
  •   書(shū)的紙張看著還可以!
  •   我訂單上寫(xiě)的清清楚楚,貨到付款,POS機(jī)刷卡,當(dāng)我領(lǐng)書(shū)的時(shí)候卻告知要現(xiàn)金。又要專門(mén)去取一次(之前就估算好日期,等著發(fā)了工資一起取的)
  •   書(shū)不錯(cuò),開(kāi)始看
  •   第二卷明顯沒(méi)多少內(nèi)容。 讓我對(duì)這個(gè)作者很失望。都急著撈錢(qián)。
  •   大概粗略的看了一遍,就是把源碼加了一點(diǎn)注釋。想看的關(guān)鍵代碼都沒(méi)有怎么講,都是講了些邊邊角角的內(nèi)容,
  •   全是講C++,深?yuàn)W點(diǎn)了,沒(méi)有做到淺顯易懂,不建議看。
  •   此卷2主要講了android系統(tǒng)的幾個(gè)服務(wù),內(nèi)容較少不夠充實(shí),跟卷1比,差距比很大。沖著卷1的好評(píng)買(mǎi)的,但是這個(gè)卷2比較失望。
  •   對(duì)于我來(lái)說(shuō)有些困難了,主要是沒(méi)時(shí)間細(xì)讀
  •   基本上就是簡(jiǎn)單的帶讀者瀏覽下源代碼,簡(jiǎn)單解釋下實(shí)現(xiàn),這些實(shí)現(xiàn),即使自己看也能看懂的,不難,多花些時(shí)間而已,所謂深入應(yīng)該是知其所以然,也就是說(shuō)說(shuō)架構(gòu)上為啥要這樣設(shè)計(jì),好處到底有哪些,剖析其好處和弊端以及對(duì)系統(tǒng)層和一個(gè)用層的影響,單純的瀏覽源代碼,總覺(jué)得算不上深入
  •   卷1的補(bǔ)充。寫(xiě)的還可以,但不如卷1。
  •   書(shū)還不錯(cuò),可惜沒(méi)有附帶光盤(pán)。
  •   紙張不錯(cuò),賣(mài)的比1貴,內(nèi)容比1少。
  •   這本不錯(cuò)。。。。。。。
  •   自己水平有限,寫(xiě)的很深?yuàn)W啊,過(guò)段時(shí)間在讀
  •   雖然是同事,但是書(shū)籍確實(shí)很一般
  •   不錯(cuò)的書(shū),推薦,很給力
  •   還不錯(cuò),書(shū)本新,送貨快
  •   s深入理解android
  •   這是一本android產(chǎn)品開(kāi)發(fā)的好書(shū)。
  •   挺好的,他的第一本我也買(mǎi)了。
  •   Android mechanic

推薦圖書(shū)


 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7