發表於2024-11-23
> 書名: | 深入理解Android:捲I[按需印刷]|198566 |
> 圖書定價: | 69元 |
> 圖書作者: | 鄧凡平 |
> 齣版社: | 機械工業齣版社 |
> 齣版日期: | 2011/9/1 0:00:00 |
> ISBN號: | 9787111357629 |
> 開本: | 16開 |
> 頁數: | 488 |
> 版次: | 1-1 |
作者簡介 |
鄧凡平,資深Android開發工程師,熱衷於Android源代碼的研究,對Android的架構設計和實現原理有非常深刻的認識和理解,應用開發經驗也十分豐富。目前就職於國內一傢領先的Android企業,負責Framework的開發和維護。樂於分享,活躍於CSDN等專業社區,撰寫的Android Framework源碼的係列文章深受讀者歡迎。此外,他對Linux內核、C/C++/Python相關的技術,以及高性能網絡服務器和多核並行開發等也有一定的研究。 |
內容簡介 |
《深入理解Android:捲1》是一本以情景方式對Android的源代碼進行深入分析的書。內容廣泛,以對Framework層的分析為主,兼顧Native層和Application層;分析深入,每一部分源代碼的分析都力求透徹;針對性強,注重實際應用開發需求,書中所涵蓋的知識點都是Android應用開發者和係統開發者需要重點掌握的。 全書共10章,第1章介紹瞭閱讀本書所需要做的準備工作,主要包括對Android係統架構和源碼閱讀方法的介紹;第2章通過對Android係統中的MediaScanner進行分析,詳細講解瞭Android中十分重要的JNI技術;第3章分析瞭init進程,揭示瞭通過解析init.rc來啓動Zygote以及屬性服務的工作原理;第4章分析瞭Zygote、SystemServer等進程的工作機製,同時還討論瞭Android的啓動速度、虛擬機HeapSize的大小調整、Watchdog工作原理等問題;第5章講解瞭Android係統中常用的類,包括sp、wp、RefBase、Thread等類,同步類,以及Java中的Handler類和Looper類,掌握這些類的知識後方能在後續的代碼分析中做到遊刃有餘;第6章以MediaServer為切入點,對Android中極為重要的Binder進行瞭較為全麵的分析,深刻揭示瞭其本質。第7章對Audio係統進行瞭深入的分析,尤其是AudioTrack、AudioFlinger和AudioPolicyService等的工作原理。第8章深入講解瞭Surface係統的實現原理,分析瞭Surface與Activity之間以及Surface與SurfaceFlinger之間的關係、SurfaceFlinger的工作原理、Surface係統中的幀數據傳輸以及LayerBuffer的工作流程。第9章對Vold和Rild的原理和機製進行瞭深入的分析,同時還探討瞭Phone設計優化的問題;第10章分析瞭多媒體係統中MediaScanner的工作原理。 本書適閤有一定基礎的Android應用開發工程師和係統工程師閱讀。通過對本書的學習,大傢將能更深刻地理解Android係統,從而自如應對實際開發中遇到的難題。 |
目錄 |
《深入理解Android:捲1》 第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 [第0一]闆斧——初識影子對象 / 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 [獨0一0無0二]的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 SurfaceCom [p0o0s] erClient分析 / 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 本章小結 [按需印刷]深入理解Android:捲I 計算機與互聯網 書箱|198566 下載 mobi epub pdf txt 電子書 格式 [按需印刷]深入理解Android:捲I 計算機與互聯網 書箱|198566 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024[按需印刷]深入理解Android:捲I 計算機與互聯網 書箱|198566 下載 mobi pdf epub txt 電子書 格式 2024 [按需印刷]深入理解Android:捲I 計算機與互聯網 書箱|198566 下載 mobi epub pdf 電子書用戶評價
評分
不錯,買三之後接著買的 評分不錯,買三之後接著買的 評分不錯,買三之後接著買的 評分不錯,買三之後接著買的 評分不錯,買三之後接著買的 評分不錯,買三之後接著買的 評分不錯,買三之後接著買的 評分不錯,買三之後接著買的 評分不錯,買三之後接著買的
類似圖書 點擊查看全場最低價
[按需印刷]深入理解Android:捲I 計算機與互聯網 書箱|198566 mobi epub pdf txt 電子書 格式下載 2024 分享鏈接相關圖書
|