<cite id="bkgrd"><noscript id="bkgrd"></noscript></cite>
<rt id="bkgrd"></rt>
    <font id="bkgrd"><span id="bkgrd"><samp id="bkgrd"></samp></span></font>
    <rp id="bkgrd"></rp>

    <rt id="bkgrd"><meter id="bkgrd"></meter></rt>

    <cite id="bkgrd"></cite>
    <b id="bkgrd"><tbody id="bkgrd"><label id="bkgrd"></label></tbody></b>
    <video id="bkgrd"><menuitem id="bkgrd"><option id="bkgrd"></option></menuitem></video>
    <rt id="bkgrd"></rt>

    計算機書籍控

    深入理解Android(卷1)

    《深入理解Android(卷1)》:結合實際應用開發需求,以情景分析的方式有針對性地對Android的源代碼進行了十分詳盡的剖析,深刻揭示Android系統的工作原理。機鋒網、51CTO、開源中國社區等專業技術網站一致鼎力推薦!
    在Android領域,無論是從事上層的應用開發.還是從事底層的系統級開發,如果想成為一名優秀的開發者,通過深入探究Android的源代碼來了解Android的實現原理與工作機制也許是唯一的捷徑。Android Framework是Android系統的基石,也是Android的核心之一,對于上層的應用開發者而言,深入理解它的工作原理是十分有必要的。Java世界是如何通過Zygote創建的?Handler和Looper是如何工作的?Binder的工作原理是什么?Audio系統和Surface系統的工作流程是怎
    樣的?Vold、Rild、MediaScanner等是如何實現
    的?
    這些內容是每一位從事Android應用開發的程序員都需要學習和掌握的。
    《深入理解Android(卷1)》用情景分析的方式對Android的源代碼進行了有針對性的分析,不僅全面而詳細地分析了Framework層的工作機制和實現原理,而且還涉及Native層和Application層的重要內容。每一個功能模塊的分析都從實際的使用場景和具體的問題入手,每一個知識點都力求做到把實現原理講清楚,把工作機制說明白,盡量深入.竭力避免泛泛而談。除此之外,《深入理解Android(卷1)》在重要章節還精心設計了“拓展思考”的內容,旨在進一步激發讀者學習和研究Android源代碼的興趣。
    

    目錄

    
    第1章 閱讀前的準備工作 / 1
    1.1 系統架構 / 2
    1.1.1 Android系統架構 / 2
    1.1.2 本書的架構 / 3
    1.2 搭建開發環境 / 4
    1.2.1 下載源碼 / 4
    1.2.2 編譯源碼 / 6
    1.3 工具介紹 / 8
    1.3.1 Source Insight介紹 / 8
    1.3.3 Busybox的使用 / 11
    1.4 本章小結 / 12
    第2章 深入理解JNI / 13
    2.1 JNI概述 / 14
    2.2 學習JNI的實例:MediaScanner / 15
    2.3 Java層的MediaScanner分析 / 16
    2.3.1 加載JNI庫 / 16
    2.3.2 Java的native函數和總結 / 17
    2.4 JNI層MediaScanner的分析 / 17
    2.4.1 注冊JNI函數 / 18
    2.4.2 數據類型轉換 / 22
    2.4.3 JNIEnv介紹 / 24
    2.4.4 通過JNIEnv操作jobject / 25
    2.4.5 jstring介紹 / 27
    2.4.6 JNI類型簽名介紹 / 28
    2.4.7 垃圾回收 / 29
    2.4.8 JNI中的異常處理 / 32
    2.5 本章小結 / 32
    第3章 深入理解init / 33
    3.1 概述 / 34
    3.2 init分析 / 34
    3.2.1 解析配置文件 / 38
    3.2.2 解析service / 42
    3.2.3 init控制service / 48
    3.2.4 屬性服務 / 52
    3.3 本章小結 / 60
    第4章 深入理解zygote / 61
    4.1 概述 / 62
    4.2 zygote分析 / 62
    4.2.1 AppRuntime分析 / 63
    4.2.2 Welcome to Java World / 68
    4.2.3 關于zygote的總結 / 74
    4.3 SystemServer分析 / 74
    4.3.1 SystemServer的誕生 / 74
    4.3.2 SystemServer的重要使命 / 77
    4.3.3 關于 SystemServer的總結 / 83
    4.4 zygote的分裂  / 84
    4.4.1 ActivityManagerService發送請求 / 84
    4.4.2 有求必應之響應請求 / 86
    4.4.3  關于zygote分裂的總結 / 88
    4.5 拓展思考 / 88
    4.5.1 虛擬機heapsize的限制 / 88
    4.5.2 開機速度優化 / 89
    4.5.3 Watchdog分析 / 90
    4.6 本章小結 / 93
    第5章 深入理解常見類 / 95
    5.1 概述 / 96
    5.2 以“三板斧”揭秘RefBase、sp和wp / 96
    5.2.1 第一板斧——初識影子對象 / 96
    5.2.2 第二板斧——由弱生強 / 103
    5.2.3 第三板斧——破解生死魔咒 / 106
    5.2.4 輕量級的引用計數控制類LightRefBase / 108
    5.2.5 題外話-三板斧的來歷 / 109
    5.3 Thread類及常用同步類分析 / 109
    5.3.1 一個變量引發的思考 / 109
    5.3.2 常用同步類 / 114
    5.4 Looper和Handler類分析 / 121
    5.4.1 Looper類分析 / 122
    5.4.2 Handler分析 / 124
    5.4.3 Looper和Handler的同步關系 / 127
    5.4.4 HandlerThread介紹 / 129
    5.5 本章小結 / 129
    第6章 深入理解Binder / 130
    6.1 概述 / 131
    6.2 庖丁解MediaServer / 132
    6.2.1 MediaServer的入口函數 / 132
    6.2.2 獨一無二的ProcessState / 133
    6.2.3 時空穿越魔術-defaultServiceManager / 134
    6.2.4 注冊MediaPlayerService / 142
    6.2.5 秋風掃落葉-StartThread Pool和join Thread Pool分析 / 149
    6.2.6 你徹底明白了嗎 / 152
    6.3 服務總管ServiceManager / 152
    6.3.1 ServiceManager的原理 / 152
    6.3.2 服務的注冊 / 155
    6.3.3 ServiceManager存在的意義 / 158
    6.4 MediaPlayerService和它的Client / 158
    6.4.1 查詢ServiceManager / 158
    6.4.2 子承父業 / 159
    6.5 拓展思考 / 162
    6.5.1 Binder和線程的關系 / 162
    6.5.2 有人情味的訃告 / 163
    6.5.3 匿名Service / 165
    6.6 學以致用 / 166
    6.6.1 純Native的Service / 166
    6.6.2 扶得起的“阿斗”(aidl) / 169
    6.7 本章小結 / 172
    第7章 深入理解Audio系統 / 173
    7.1 概述 / 174
    7.2 AudioTrack的破解 / 174
    7.2.1 用例介紹 / 174
    7.2.2 AudioTrack(Java空間)分析 / 179
    7.2.3 AudioTrack(Native空間)分析 / 188
    7.2.4 關于AudioTrack的總結 / 200
    7.3 AudioFlinger的破解 / 200
    7.3.1 AudioFlinger的誕生 / 200
    7.3.2 通過流程分析AudioFlinger / 204
    7.3.3 audio_track_cblk_t分析 / 230
    7.3.4 關于AudioFlinger的總結 / 234
    7.4 AudioPolicyService的破解 / 234
    7.4.1 AudioPolicyService的創建 / 235
    7.4.2 重回AudioTrack / 245
    7.4.3 聲音路由切換實例分析 / 251
    7.4.4 關于AudioPolicy的總結 / 262
    7.5 拓展思考 / 262
    7.5.1 DuplicatingThread破解 / 262
    7.5.2 題外話 / 270
    7.6 本章小結 / 272
    第8章 深入理解Surface系統 / 273
    8.1 概述 / 275
    8.2 一個Activity的顯示 / 275
    8.2.1 Activity的創建 / 275
    8.2.2 Activity的UI繪制 / 294
    8.2.3 關于Activity的總結 / 296
    8.3 初識Surface / 297
    8.3.1 和Surface有關的流程總結 / 297
    8.3.2 Surface之乾坤大挪移 / 298
    8.3.3 乾坤大挪移的JNI層分析 / 303
    8.3.4 Surface和畫圖 / 307
    8.3.5 初識Surface小結 / 309
    8.4 深入分析Surface / 310
    8.4.1 與Surface相關的基礎知識介紹 / 310
    8.4.2 SurfaceComposerClient分析 / 315
    8.4.3 SurfaceControl分析 / 320
    8.4.4 writeToParcel和Surface對象的創建 / 331
    8.4.5 lockCanvas和unlockCanvasAndPost分析 / 335
    8.4.6 GraphicBuffer介紹 / 344
    8.4.7 深入分析Surface的總結 / 353
    8.5 SurfaceFlinger分析 / 353
    8.5.1 SurfaceFlinger的誕生 / 354
    8.5.2 SF工作線程分析 / 359
    8.5.3 Transaction分析 / 368
    8.5.4 關于SurfaceFlinger的總結 / 376
    8.6 拓展思考 / 377
    8.6.1 Surface系統的CB對象分析 / 377
    8.6.2 ViewRoot的你問我答 / 384
    8.6.3 LayerBuffer分析 / 385
    8.7 本章小結 / 394
    第9章 深入理解Vold和Rild / 395
    9.1 概述 / 396
    9.2 Vold的原理與機制分析 / 396
    9.2.1 Netlink和Uevent介紹 / 397
    9.2.2 初識Vold / 399
    9.2.3 NetlinkManager模塊分析 / 400
    9.2.4 VolumeManager模塊分析 / 408
    9.2.5 CommandListener模塊分析 / 414
    9.2.6 Vold實例分析 / 417
    9.2.7 關于Vold的總結 / 428
    9.3 Rild的原理與機制分析 / 428
    9.3.1 初識Rild / 430
    9.3.2 RIL_startEventLoop分析 / 432
    9.3.3 RIL_Init分析 / 437
    9.3.4 RIL_register分析 / 444
    9.3.5 關于Rild main函數的總結 / 447
    9.3.6 Rild實例分析 / 447
    9.3.7 關于Rild的總結 / 459
    9.4 拓展思考 / 459
    9.4.1 嵌入式系統的存儲知識介紹 / 459
    9.4.2 Rild和Phone的改進探討 / 462
    9.5 本章小結 / 463
    第10章 深入理解MediaScanner / 464
    10.1 概述 / 465
    10.2 android.process.media分析 / 465
    10.2.1 MSR模塊分析 / 466
    10.2.2 MSS模塊分析 / 467
    10.2.3 android.process.media媒體掃描工作的流程總結 / 471
    10.3 MediaScanner分析 / 472
    10.3.1 Java層分析 / 472
    10.3.2 JNI層分析 / 476
    10.3.3 PVMediaScanner分析 / 479
    10.3.4 關于MediaScanner的總結 / 485
    10.4 拓展思考 / 486
    10.4.1 MediaScannerConnection介紹 / 486
    10.4.2 我問你答 / 487
    10.5 本章小結 / 488
    

    書籍下載

    尊重版權,請購買正版書籍

    正版書籍

    深入理解Android(卷1)

    8号彩票app www.d3mm.com:北川| www.ybcxjt.com:定日县| www.hgppgh.com:扬中市| www.biji-rumput.com:宁德市| www.lainiyin.com:藁城市| www.686684.com:思南县| www.bateriaslight-infinity.com:太白县| www.chunmiranliao.com:吉水县| www.chery-ruixiang.com:宝坻区| www.figure-king.com:庆元县| www.xpresspropane2u.com:陆川县| www.bolemaimai.com:龙陵县| www.acehobbyaustralia.com:隆化县| www.omin-sh.com:庄河市| www.chcdistribution.com:东阿县| www.881501.com:郁南县| www.hmartusa.net:遂平县| www.zhuangshi-qz.com:大足县| www.sunmastering.com:溆浦县| www.pokerglyphs.com:南安市| www.mf-moto.com:福州市| www.crystaltunisia.com:诸城市| www.cp5579.com:牙克石市| www.wfhtdr.com:铜川市| www.milwaukeemillennial.com:石屏县| www.crowdcomputingblog.com:华亭县| www.gfrpu.com:临泉县| www.groupe-avram.com:永定县| www.adamandsamlove.com:类乌齐县| www.jjyjs.com:滦南县| www.eprsdxx.com:苏州市| www.guolianmc.com:梧州市| www.thechamplife.com:香格里拉县| www.gluguru.org:嘉义县| www.bwpha.com:延边| www.pobohn.com:昂仁县| www.chriscota.com:新河县| www.pmw2bol.com:平乡县| www.delatan.com:托克托县| www.drjcdua.com:山东省| www.swaggjewels.com:双城市| www.pikling.com:石河子市| www.toygrc.com:阿克陶县| www.eegeu.com:龙川县| www.amirtarabarasia.com:长汀县| www.ac8ufu.com:贵德县| www.mofo-nyc.com:修武县| www.yourlifebar.com:景东| www.chimuwaza.com:金门县| www.quizgrok.com:九寨沟县| www.dllzjt.com:芮城县| www.cnsxmr.com:九龙县| www.cfpnw.cn:出国| www.01dyy.com:广昌县| www.hg15345.com:仪陇县| www.zhfu8.com:山丹县| www.ermanufacture.com:卢湾区| www.hqjyjg.cn:浦城县| www.lsyqsm.com:临江市| www.itsagreed.com:涿鹿县| www.cnbpl.com:西乌| www.qqrbc.com:彭州市| www.cec-ci.org:沈丘县| www.mzansi24.com:敖汉旗| www.lnkqxx.com:江孜县| www.marcandreboivin.com:富宁县| www.autocar-dax.com:莱州市| www.toystorez.com:伊吾县| www.cp6167.com:清涧县| www.eslglobal.org:洛宁县| www.acdnq.com:陕西省| www.70088a.com:龙泉市| www.zuluanimazione.com:英吉沙县| www.joabiz.com:镇赉县| www.z9697.com:思茅市| www.kyoteam.com:丰原市| www.aiqinhaiszx.com:双城市| www.hitsandlyrics.com:胶州市| www.zjlcbj.com:博爱县| www.jp-daigo.com:陆川县| www.bling2day.com:敦煌市| www.hjzmdc.cn:天柱县| www.jnslt.cn:苏州市| www.inattendu32.com:新闻|