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

深入理解Android:卷I

深入理解Android:卷I

定 價(jià):¥69.00

作 者: 鄧凡平 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 移動(dòng)開發(fā)

ISBN: 9787111357629 出版時(shí)間: 2011-09-01 包裝: 平裝
開本: 16開 頁數(shù): 488 字?jǐn)?shù):  

內(nèi)容簡介

  《深入理解Android(卷1)》是一本以情景方式對(duì)Android的源代碼進(jìn)行深入分析的書。內(nèi)容廣泛,以對(duì)Framework層的分析為主,兼顧Native層和Application層;分析深入,每一部分源代碼的分析都力求透徹;針對(duì)性強(qiáng),注重實(shí)際應(yīng)用開發(fā)需求,書中所涵蓋的知識(shí)點(diǎn)都是Android應(yīng)用開發(fā)者和系統(tǒng)開發(fā)者需要重點(diǎn)掌握的。《深入理解Android(卷1)》共10章,第1章介紹了閱讀本書所需要做的準(zhǔn)備工作,主要包括對(duì)Android系統(tǒng)架構(gòu)和源碼閱讀方法的介紹;第2章通過對(duì)Android系統(tǒng)中的MediaScanner進(jìn)行分析,詳細(xì)講解了Android中十分重要的JNI技術(shù);第3章分析了init進(jìn)程,揭示了通過解析init.rc來啟動(dòng)Zygote以及屬性服務(wù)的工作原理;第4章分析了Zygote、SystemServer等進(jìn)程的工作機(jī)制,同時(shí)還討論了Android的啟動(dòng)速度、虛擬機(jī)HeapSize的大小調(diào)整、Watchdog工作原理等問題;第5章講解了Android系統(tǒng)中常用的類,包括sp、wp、RefBase、Thread等類,同步類,以及Java中的Handler類和Looper類,掌握這些類的知識(shí)后方能在后續(xù)的代碼分析中做到游刃有余;第6章以MediaServer為切入點(diǎn),對(duì)Android中極為重要的Binder進(jìn)行了較為全面的分析,深刻揭示了其本質(zhì)。第7章對(duì)Audio系統(tǒng)進(jìn)行了深入的分析,尤其是AudioTrack、AudioFlinger和AudioPolicyService等的工作原理。第8章深入講解了Surface系統(tǒng)的實(shí)現(xiàn)原理,分析了Surface與Activity之間以及Surface與SurfaceFlinger之間的關(guān)系、SurfaceFlinger的工作原理、Surface系統(tǒng)中的幀數(shù)據(jù)傳輸以及LayerBuffer的工作流程。第9章對(duì)Vold和Rild的原理和機(jī)制進(jìn)行了深入的分析,同時(shí)還探討了Phone設(shè)計(jì)優(yōu)化的問題;第10章分析了多媒體系統(tǒng)中MediaScanner的工作原理?!渡钊肜斫釧ndroid(卷1)》適合有一定基礎(chǔ)的Android應(yīng)用開發(fā)工程師和系統(tǒng)工程師閱讀。通過對(duì)本書的學(xué)習(xí),大家將能更深刻地理解Android系統(tǒng),從而自如應(yīng)對(duì)實(shí)際開發(fā)中遇到的難題。

作者簡介

  鄧凡平,資深A(yù)ndroid開發(fā)工程師,熱衷于Android源代碼的研究,對(duì)Android的架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)原理有非常深刻的認(rèn)識(shí)和理解,應(yīng)用開發(fā)經(jīng)驗(yàn)也十分豐富。目前就職于國內(nèi)一家領(lǐng)先的Android企業(yè),負(fù)責(zé)Framework的開發(fā)和維護(hù)。樂于分享,活躍于CSDN等專業(yè)社區(qū),撰寫的Android Framework源碼的系列文章深受讀者歡迎。此外,他對(duì)Linux內(nèi)核、C/C++/Python相關(guān)的技術(shù),以及高性能網(wǎng)絡(luò)服務(wù)器和多核并行開發(fā)等也有一定的研究。

圖書目錄

第1章 閱讀前的準(zhǔn)備工作
 1.1 系統(tǒng)架構(gòu)
  1.1.1 Android系統(tǒng)架構(gòu)
  1.1.2 本書的架構(gòu)
 1.2 搭建開發(fā)環(huán)境
  1.2.1 下載源碼
  1.2.2 編譯源碼
 1.3 工具介紹
  1.3.1 Source Insight介紹
  1.3.3 Busybox的使用
 1.4 本章小結(jié)
第2章 深入理解JNI
 2.1 JNI概述
 2.2 學(xué)習(xí)JNI的實(shí)例:MediaScanner
 2.3 Java層的MediaScanner分析
  2.3.1 加載JNI庫
  2.3.2 Java的native函數(shù)和總結(jié)
 2.4 JNI層MediaScanner的分析
  2.4.1 注冊(cè)JNI函數(shù)
  2.4.2 數(shù)據(jù)類型轉(zhuǎn)換
  2.4.3 JNIEnv介紹
  2.4.4 通過JNIEnv操作jobject
  2.4.5 jstring介紹
  2.4.6 JNI類型簽名介紹
  2.4.7 垃圾回收
  2.4.8 JNI中的異常處理
 2.5 本章小結(jié)
第3章 深入理解init
 3.1 概述
 3.2 init分析
  3.2.1 解析配置文件
  3.2.2 解析service
  3.2.3 init控制service
  3.2.4 屬性服務(wù)
 3.3 本章小結(jié)
第4章 深入理解zygote
 4.1 概述
 4.2 zygote分析
  4.2.1 AppRuntime分析
  4.2.2 Welcome to Java World
  4.2.3 關(guān)于zygote的總結(jié)
 4.3 SystemServer分析
  4.3.1 SystemServer的誕生
  4.3.2 SystemServer的重要使命
  4.3.3 關(guān)于 SystemServer的總結(jié)
 4.4 zygote的分裂 
  4.4.1 ActivityManagerService發(fā)送請(qǐng)求
  4.4.2 有求必應(yīng)之響應(yīng)請(qǐng)求
  4.4.3  關(guān)于zygote分裂的總結(jié)
 4.5 拓展思考
  4.5.1 虛擬機(jī)heapsize的限制
  4.5.2 開機(jī)速度優(yōu)化
  4.5.3 Watchdog分析
 4.6 本章小結(jié)
第5章 深入理解常見類
 5.1 概述
 5.2 以“三板斧”揭秘RefBase、sp和wp
  5.2.1 第一板斧——初識(shí)影子對(duì)象
  5.2.2 第二板斧——由弱生強(qiáng)
  5.2.3 第三板斧——破解生死魔咒
  5.2.4 輕量級(jí)的引用計(jì)數(shù)控制類LightRefBase
  5.2.5 題外話—三板斧的來歷
 5.3 Thread類及常用同步類分析
  5.3.1 一個(gè)變量引發(fā)的思考
  5.3.2 常用同步類
 5.4 Looper和Handler類分析
  5.4.1 Looper類分析
  5.4.2 Handler分析
  5.4.3 Looper和Handler的同步關(guān)系
  5.4.4 HandlerThread介紹
 5.5 本章小結(jié)
第6章 深入理解Binder
 6.1 概述
 6.2 庖丁解MediaServer
  6.2.1 MediaServer的入口函數(shù)
  6.2.2 獨(dú)一無二的ProcessState
  6.2.3 時(shí)空穿越魔術(shù)—defaultServiceManager
  6.2.4 注冊(cè)MediaPlayerService
  6.2.5 秋風(fēng)掃落葉—StartThread Pool和join Thread Pool分析
  6.2.6 你徹底明白了嗎
 6.3 服務(wù)總管ServiceManager
  6.3.1 ServiceManager的原理
  6.3.2 服務(wù)的注冊(cè)
  6.3.3 ServiceManager存在的意義
 6.4 MediaPlayerService和它的Client
  6.4.1 查詢ServiceManager
  6.4.2 子承父業(yè)
 6.5 拓展思考
  6.5.1 Binder和線程的關(guān)系
  6.5.2 有人情味的訃告
  6.5.3 匿名Service
 6.6 學(xué)以致用
  6.6.1 純Native的Service
  6.6.2 扶得起的“阿斗”(aidl)
 6.7 本章小結(jié)
第7章 深入理解Audio系統(tǒng)
 7.1 概述
 7.2 AudioTrack的破解
  7.2.1 用例介紹
  7.2.2 AudioTrack(Java空間)分析
  7.2.3 AudioTrack(Native空間)分析
  7.2.4 關(guān)于AudioTrack的總結(jié)
 7.3 AudioFlinger的破解
  7.3.1 AudioFlinger的誕生
  7.3.2 通過流程分析AudioFlinger
  7.3.3 audio_track_cblk_t分析
  7.3.4 關(guān)于AudioFlinger的總結(jié)
 7.4 AudioPolicyService的破解
  7.4.1 AudioPolicyService的創(chuàng)建
  7.4.2 重回AudioTrack
  7.4.3 聲音路由切換實(shí)例分析
  7.4.4 關(guān)于AudioPolicy的總結(jié)
 7.5 拓展思考
  7.5.1 DuplicatingThread破解
  7.5.2 題外話
 7.6 本章小結(jié)
第8章 深入理解Surface系統(tǒng)
 8.1 概述
 8.2 一個(gè)Activity的顯示
  8.2.1 Activity的創(chuàng)建
  8.2.2 Activity的UI繪制
  8.2.3 關(guān)于Activity的總結(jié)
 8.3 初識(shí)Surface
  8.3.1 和Surface有關(guān)的流程總結(jié)
  8.3.2 Surface之乾坤大挪移
  8.3.3 乾坤大挪移的JNI層分析
  8.3.4 Surface和畫圖
  8.3.5 初識(shí)Surface小結(jié)
 8.4 深入分析Surface
  8.4.1 與Surface相關(guān)的基礎(chǔ)知識(shí)介紹
  8.4.2 SurfaceComposerClient分析
  8.4.3 SurfaceControl分析
  8.4.4 writeToParcel和Surface對(duì)象的創(chuàng)建
  8.4.5 lockCanvas和unlockCanvasAndPost分析
  8.4.6 GraphicBuffer介紹
  8.4.7 深入分析Surface的總結(jié)
 8.5 SurfaceFlinger分析
  8.5.1 SurfaceFlinger的誕生
  8.5.2 SF工作線程分析
  8.5.3 Transaction分析
  8.5.4 關(guān)于SurfaceFlinger的總結(jié)
 8.6 拓展思考
  8.6.1 Surface系統(tǒng)的CB對(duì)象分析
  8.6.2 ViewRoot的你問我答
  8.6.3 LayerBuffer分析
 8.7 本章小結(jié)
第9章 深入理解Vold和Rild
 9.1 概述
 9.2 Vold的原理與機(jī)制分析
  9.2.1 Netlink和Uevent介紹
  9.2.2 初識(shí)Vold
  9.2.3 NetlinkManager模塊分析
  9.2.4 VolumeManager模塊分析
  9.2.5 CommandListener模塊分析
  9.2.6 Vold實(shí)例分析
  9.2.7 關(guān)于Vold的總結(jié)
 9.3 Rild的原理與機(jī)制分析
  9.3.1 初識(shí)Rild
  9.3.2 RIL_startEventLoop分析
  9.3.3 RIL_Init分析
  9.3.4 RIL_register分析
  9.3.5 關(guān)于Rild main函數(shù)的總結(jié)
  9.3.6 Rild實(shí)例分析
  9.3.7 關(guān)于Rild的總結(jié)
 9.4 拓展思考
  9.4.1 嵌入式系統(tǒng)的存儲(chǔ)知識(shí)介紹
  9.4.2 Rild和Phone的改進(jìn)探討
 9.5 本章小結(jié)
第10章 深入理解MediaScanner
 10.1 概述
 10.2 android.process.media分析
  10.2.1 MSR模塊分析
  10.2.2 MSS模塊分析
  10.2.3 android.process.media媒體掃描工作的流程總結(jié)
 10.3 MediaScanner分析
  10.3.1 Java層分析
  10.3.2 JNI層分析
  10.3.3 PVMediaScanner分析
  10.3.4 關(guān)于MediaScanner的總結(jié)
 10.4 拓展思考
  10.4.1 MediaScannerConnection介紹
  10.4.2 我問你答
 10.5 本章小結(jié)

本目錄推薦

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