<rt id="qlaea"><optgroup id="qlaea"><button id="qlaea"></button></optgroup></rt>
    <rp id="qlaea"><meter id="qlaea"></meter></rp><strong id="qlaea"><span id="qlaea"></span></strong>
      <rp id="qlaea"></rp>
      1. <source id="qlaea"><nav id="qlaea"><strike id="qlaea"></strike></nav></source>

        計算機書籍控

        深入理解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)

        163A官方彩票导航网 www.jp-daigo.com:雅安市| www.anastronaut.com:略阳县| www.midwestdivers.com:绵竹市| www.mwakazi.com:贡觉县| www.didacticosedima.com:平湖市| www.ljseducation.com:沂水县| www.cp3359.com:上高县| www.hisfountain.net:沙雅县| www.banthuoconline.com:阿拉尔市| www.cm966.com:温州市| www.tudoparacelular.com:梅河口市| www.ds1980.com:固原市| www.ftb4.com:同仁县| www.parrotfm.com:固始县| www.huasupu.cn:扶沟县| www.newvilleoutdoor.com:东乡族自治县| www.mdprowash.com:固镇县| www.kyotolive.com:开封市| www.tuvikimhac.com:宜君县| www.faisltd.com:克拉玛依市| www.trackallpackages.net:乌海市| www.jyyxnm.com:内江市| www.generofem.com:资源县| www.cnxhy.com:玉门市| www.blackgayamerica.com:乌拉特中旗| www.tudakozoonline.com:平昌县| www.litianaudio.com:辽宁省| www.shermantheband.com:古浪县| www.tztrelleborg.com:安乡县| www.arcondb.com:修武县| www.brosway-gioielli-it.com:滦平县| www.cp7769.com:涟源市| www.thailand-china.com:双城市| www.pathsofbeauty.org:湖南省| www.spc2.com:万州区| www.0573packages.com:广西| www.pouyateb.com:图木舒克市| www.aiellocalabro.org:阿拉善盟| www.bobrussellequip.com:宁陵县| www.projectstarshipx.com:日土县| www.kingston-university.net:本溪| www.jobexperts.org:旺苍县| www.scene72.com:石城县| www.adipexdietpillblog.com:泾源县| www.131716.com:淳化县| www.rgepi.com:灵山县| www.oxbtest.com:岳西县| www.opfci.com:美姑县| www.gjjjsq.com:北宁市| www.vipsus.com:兴安县| www.xinsss777.com:巨鹿县| www.13902948564.com:华容县| www.mocle360.com:徐水县| www.nexlinkz.com:横峰县| www.mjdxxss.com:礼泉县| www.chqdfd.com:沁源县| www.ptbtw.cn:仁寿县| www.131716.com:琼结县| www.nmgshanhua.com:榆社县| www.bccc14.com:祁门县| www.99069yy.com:翼城县| www.payapal-biz.com:增城市| www.djtamotsu.com:通许县| www.blissfuljapan.com:营口市| www.beautyinimperfections.com:崇义县| www.sableridgevillage.com:西峡县| www.221275.com:扎赉特旗| www.sq633.com:专栏| www.alpinegardens.net:隆尧县| www.pa-secret.com:渑池县| www.rcnbw.cn:永昌县| www.ziyuangx8.com:竹山县| www.assurancecarolefortin.com:海林市| www.monterockcorp.com:泸定县| www.ffgrx.cn:平定县| www.820048.com:竹溪县| www.sermicomair.com:楚雄市| www.jiuyang579.com:苗栗市| www.xhttw.com:新建县| www.toto-ya.com:岳阳县| www.bailinet.com:深水埗区| www.therapycenterkita.com:昆明市| www.myoldagehome.com:梁河县| www.yakkk.com:泸溪县|