經典款式Android系統原理深入解析
網友評鑑4.5顆星買過的朋友都說物超所值
博客來電腦資訊-程式設計分類站長推薦
購買[Android系統原理深入解析]絕對物超所值
點圖即可看詳細介紹
內容簡介
本書全面、系統、深入地講解了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 的欲望。
...繼續閱讀
留言列表