本書全面、系統、深入地講解了Android 系統中的幾大重要組成部分的工作原理,旨在透過直接剖析原始程式碼的方式,引領讀者一步步深入於諸如Binder、Zygote、Audio、Surface、Vold、Rild 等模組的內部,去理解它們是如何實現的,以及如何工作的。筆者根據研究Android 代碼的心得,在本書中嘗試性地採用了精簡流程、逐個擊破的方法進行講解,希望這樣做能幫助讀者更快、更準確地把握各模組的工作流程及其本質。
全書共有10 章,其中一些重要章節中還安排了“延伸思考”部分。主要內容為:
第1章介紹了閱讀本書所需要做的一些準備工作,包括對Android 整個系統架
構的認識,以及Android 開發環境和原始碼閱讀環境的搭建等。
第2章透過Android 原始碼中的一處實例深入地介紹了JNI 技術。
第3章圍繞init 進程, 介紹了如何解析init.rc 以啟動Zygote 和屬性服務
(property service)的工作原理。
第4章剖析了zygote 和system_server 進程的工作原理。本章的延伸思考部分討
論了Andorid 的啟動速度、虛擬機器heapsize 的大小調整問題以及“看門狗”的工
作原理。
第5章講解了Android 原始碼中常用的類別,如sp、wp、RefBase、Thread 類
別、同步類別、Java 中的Handler 類別以及Looper 類別。這些類別都是Android 中
最常用和最基本的,只有掌握這些類別的知識,才能在分析後續的代碼時游刃有餘。
第6章以MediaServer 為切入點,對Binder 進行了較為全面的分析。本章延伸
思考部分討論了與Binder 有關的三個問題,它們分別是Binder 和執行緒的關係、死亡通知以及匿名Service。筆者希望,透過本章的學習,大家能更深入地認識Binder
的本質。
第7章闡述了Audio 系統中的三位重要成員AudioTrack、AudioFlinger
和AudioPolicyService 的工作原理。本章延伸思考部分分析了AudioFlinger 中
DuplicatingThread 的工作原理,並且和讀者一道探討了單元測試、ALSA、Desktop
check 等問題。透過對本章的學習,相信讀者會對Audio 系統有更深的理解。
第8章以Surface 系統為主, 分析了Activity 和Surface 的關係、Surface 和
SurfaceFlinger 的關係以及SurfaceFlinger 的工作原理。本章的延伸思考部分分析了Surface 系統中資料傳輸控制物件的工作原理、有關ViewRoot 的一些疑問,最後講解了LayerBuffer 的工作流程。這是全書中難度較大的一章,建議大家反覆閱讀和思考,這樣才能進一步深入理解Surface 系統。
第9章分析了Vold 和Rild,其中Vold 負責Android 平臺中外部存放裝置的管
理,而Rild 負責與射頻通信有關的工作。本章的延伸思考部分介紹了嵌入式系統中與儲存有關的知識,還探討了Rild 和Phone 設計優化方面的問題。
第10章分析了多媒體系統中MediaScanner 的工作原理。在本章的延伸思考部
分,筆者提出了幾個問題,旨在激發讀者深入思考和學習Android 的欲望。
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。影片僅供參考,實物可能因再版或再刷而有差異
作者:鄧凡平
優惠價: 9 折, NT$ 468 NT$ 520
本商品已下架
本書全面、系統、深入地講解了Android 系統中的幾大重要組成部分的工作原理,旨在透過直接剖析原始程式碼的方式,引領讀者一步步深入於諸如Binder、Zygote、Audio、Surface、Vold、Rild 等模組的內部,去理解它們是如何實現的,以及如何工作的。筆者根據研究Android 代碼的心得,在本書中嘗試性地採用了精簡流程、逐個擊破的方法進行講解,希望這樣做能幫助讀者更快、更準確地把握各模組的工作流程及其本質。
全書共有10 章,其中一些重要章節中還安排了“延伸思考”部分。主要內容為:
第1章介紹了閱讀本書所需要做的一些準備工作,包括對Android 整個系統架
構的認識,以及Android 開發環境和原始碼閱讀環境的搭建等。
第2章透過Android 原始碼中的一處實例深入地介紹了JNI 技術。
第3章圍繞init 進程, 介紹了如何解析init.rc 以啟動Zygote 和屬性服務
(property service)的工作原理。
第4章剖析了zygote 和system_server 進程的工作原理。本章的延伸思考部分討
論了Andorid 的啟動速度、虛擬機器heapsize 的大小調整問題以及“看門狗”的工
作原理。
第5章講解了Android 原始碼中常用的類別,如sp、wp、RefBase、Thread 類
別、同步類別、Java 中的Handler 類別以及Looper 類別。這些類別都是Android 中
最常用和最基本的,只有掌握這些類別的知識,才能在分析後續的代碼時游刃有餘。
第6章以MediaServer 為切入點,對Binder 進行了較為全面的分析。本章延伸
思考部分討論了與Binder 有關的三個問題,它們分別是Binder 和執行緒的關係、死亡通知以及匿名Service。筆者希望,透過本章的學習,大家能更深入地認識Binder
的本質。
第7章闡述了Audio 系統中的三位重要成員AudioTrack、AudioFlinger
和AudioPolicyService 的工作原理。本章延伸思考部分分析了AudioFlinger 中
DuplicatingThread 的工作原理,並且和讀者一道探討了單元測試、ALSA、Desktop
check 等問題。透過對本章的學習,相信讀者會對Audio 系統有更深的理解。
第8章以Surface 系統為主, 分析了Activity 和Surface 的關係、Surface 和
SurfaceFlinger 的關係以及SurfaceFlinger 的工作原理。本章的延伸思考部分分析了Surface 系統中資料傳輸控制物件的工作原理、有關ViewRoot 的一些疑問,最後講解了LayerBuffer 的工作流程。這是全書中難度較大的一章,建議大家反覆閱讀和思考,這樣才能進一步深入理解Surface 系統。
第9章分析了Vold 和Rild,其中Vold 負責Android 平臺中外部存放裝置的管
理,而Rild 負責與射頻通信有關的工作。本章的延伸思考部分介紹了嵌入式系統中與儲存有關的知識,還探討了Rild 和Phone 設計優化方面的問題。
第10章分析了多媒體系統中MediaScanner 的工作原理。在本章的延伸思考部
分,筆者提出了幾個問題,旨在激發讀者深入思考和學習Android 的欲望。
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。※ 二手徵求後,有綁定line通知的讀者,
該二手書結帳減5元。(減5元可累加)
請在手機上開啟Line應用程式,點選搜尋欄位旁的掃描圖示
即可掃描此ORcode
|
||||||||||||||||||
|
||||||||||||||||||
|