該作品是PDF文件格式請下載 福昕PDF閱讀器
《Android系統(tǒng)源代碼情景分析》隨書光盤內(nèi)容(源代碼)目錄如下:
第1篇 初識Android系統(tǒng)第1章 準(zhǔn)備知識
1.1 Linux內(nèi)核參考書籍
1.2 Android應(yīng)用程序參考書籍
1.3 下載、編譯和運行Android源代碼
1.3.1 下載Android源代碼
1.3.2 編譯Android源代碼
1.3.3 運行Android模擬器
1.4 下載、編譯和運行Android內(nèi)核源代碼
1.4.1 下載Android內(nèi)核源代碼
1.4.2 編譯Android內(nèi)核源代碼
1.4.3 運行Android模擬器
1.5 開發(fā)第一個Android應(yīng)用程序
1.6 單獨編譯和打包Android應(yīng)用程序模塊
1.6.1 導(dǎo)入單獨編譯模塊的mmm命令
1.6.2 單獨編譯Android應(yīng)用程序模塊
1.6.3 重新打包Android系統(tǒng)鏡像文件
第2章 硬件抽象層
2.1 開發(fā)Android硬件驅(qū)動程序
2.1.1 實現(xiàn)內(nèi)核驅(qū)動程序模塊
2.1.2 修改內(nèi)核Kconfig文件
2.1.3 修改內(nèi)核Makefile文件
2.1.4 編譯內(nèi)核驅(qū)動程序模塊
2.1.5 驗證內(nèi)核驅(qū)動程序模塊
2.2 開發(fā)C可執(zhí)行程序驗證Android硬件驅(qū)動程序
2.3 開發(fā)Android硬件抽象層模塊
2.3.1 硬件抽象層模塊編寫規(guī)范
2.3.2 編寫硬件抽象層模塊接口
2.3.3 硬件抽象層模塊的加載過程
2.3.4 處理硬件設(shè)備訪問權(quán)限問題
2.4 開發(fā)Android硬件訪問服務(wù)
2.4.1 定義硬件訪問服務(wù)接口
2.4.2 實現(xiàn)硬件訪問服務(wù)
2.4.3 實現(xiàn)硬件訪問服務(wù)的JNI方法
2.4.4 啟動硬件訪問服務(wù)
2.5 開發(fā)Android應(yīng)用程序來使用硬件訪問服務(wù)
第3章 智能指針
3.1 輕量級指針
3.1.1 實現(xiàn)原理分析
3.1.2 應(yīng)用實例分析
3.2 強(qiáng)指針和弱指針
3.2.1 強(qiáng)指針的實現(xiàn)原理分析
3.2.2 弱指針的實現(xiàn)原理分析
3.2.3 應(yīng)用實例分析
第2篇 Android專用驅(qū)動系統(tǒng)
第4章 Logger日志系統(tǒng)
4.1 Logger日志格式
4.2 Logger日志驅(qū)動程序
4.2.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)
4.2.2 日志設(shè)備的初始化過程
4.2.3 日志設(shè)備文件的打開過程
4.2.4 日志記錄的讀取過程
4.2.5 日志記錄的寫入過程
4.3 運行時庫層日志庫
4.4 C/C++日志寫入接口
4.5 Java日志寫入接口
4.6 Logcat工具分析
4.6.1 相關(guān)數(shù)據(jù)結(jié)構(gòu)
4.6.2 初始化過程
4.6.3 日志記錄的讀取過程
4.6.4 日志記錄的輸出過程
第5章 Binder進(jìn)程間通信系統(tǒng)
5.1 Binder驅(qū)動程序
5.1.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)
5.1.2 Binder設(shè)備的初始化過程
5.1.3 Binder設(shè)備文件的打開過程
5.1.4 Binder設(shè)備文件的內(nèi)存映射過程
5.1.5 內(nèi)核緩沖區(qū)管理
5.2 Binder進(jìn)程間通信庫
5.3 Binder進(jìn)程間通信應(yīng)用實例
5.4 Binder對象引用計數(shù)技術(shù)
5.4.1 Binder本地對象的生命周期
5.4.2 Binder實體對象的生命周期
5.4.3 Binder引用對象的生命周期
5.4.4 Binder代理對象的生命周期
5.5 Binder對象死亡通知機(jī)制
5.5.1 注冊死亡接收通知
5.5.2 發(fā)送死亡接收通知
5.5.3 注銷死亡接收通知
5.6 Service Manager的啟動過程
5.6.1 打開和映射Binder設(shè)備文件
5.6.2 注冊為Binder上下文管理者
5.6.3 循環(huán)等待Client進(jìn)程請求
5.7 Service Manager代理對象的獲取過程
5.8 Service組件的啟動過程
5.8.1 注冊Service組件
5.8.2 啟動Binder線程池
5.9 Service代理對象的獲取過程
5.10 Binder進(jìn)程間通信機(jī)制的Java接口
5.10.1 Service Manager的Java代理對象的獲取過程
5.10.2 Java服務(wù)接口的定義和解析
5.10.3 Java服務(wù)的啟動過程
5.10.4 Java服務(wù)代理對象的獲取過程
5.10.5 Java服務(wù)的調(diào)用過程
第6章 Ashmem匿名共享內(nèi)存系統(tǒng)
6.1 Ashmem驅(qū)動程序
6.1.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)
6.1.2 匿名共享內(nèi)存設(shè)備的初始化過程
6.1.3 匿名共享內(nèi)存設(shè)備文件的打開過程
6.1.4 匿名共享內(nèi)存設(shè)備文件的內(nèi)存映射過程
6.1.5 匿名共享內(nèi)存塊的鎖定和解鎖過程
6.1.6 匿名共享內(nèi)存塊的回收過程
6.2 運行時庫cutils的匿名共享內(nèi)存訪問接口
6.3 匿名共享內(nèi)存的C++訪問接口
6.3.1 MemoryHeapBase
6.3.2 MemoryBase
6.3.3 應(yīng)用實例
6.4 匿名共享內(nèi)存的Java訪問接口
6.4.1 MemoryFile
6.4.2 應(yīng)用實例
6.5 匿名共享內(nèi)存的共享原理
第3篇 Android應(yīng)用程序框架
第7章 Activity組件的啟動過程
7.1 Activity組件應(yīng)用實例
7.2 根Activity組件的啟動過程
7.3 子Activity組件在進(jìn)程內(nèi)的啟動過程
7.4 子Activity組件在新進(jìn)程中的啟動過程
第8章 Service組件的啟動過程
8.1 Service組件應(yīng)用實例
8.2 Service組件在新進(jìn)程中的啟動過程
8.3 Service組件在進(jìn)程內(nèi)的綁定過程
第9章 Android系統(tǒng)廣播機(jī)制
9.1 廣播機(jī)制應(yīng)用實例
9.2 廣播接收者的注冊過程
9.3 廣播的發(fā)送過程
第10章 Content Provider組件的實現(xiàn)原理
10.1 Content Provider組件應(yīng)用實例
10.1.1 ArticlesProvider
10.1.2 Article
10.2 Content Provider組件的啟動過程
10.3 Content Provider組件的數(shù)據(jù)共享原理
10.3.1 數(shù)據(jù)共享模型
10.3.2 數(shù)據(jù)傳輸過程
10.4 Content Provider組件的數(shù)據(jù)更新通知機(jī)制
10.4.1 注冊內(nèi)容觀察者
10.4.2 發(fā)送數(shù)據(jù)更新通知
第11章 Zygote和System進(jìn)程的啟動過程
11.1 Zygote進(jìn)程的啟動腳本
11.2 Zygote進(jìn)程的啟動過程
11.3 System進(jìn)程的啟動過程
第12章 Android應(yīng)用程序進(jìn)程的啟動過程
12.1 應(yīng)用程序進(jìn)程的創(chuàng)建過程
12.2 Binder線程池的啟動過程
12.3 消息循環(huán)的創(chuàng)建過程
第13章 Android應(yīng)用程序的消息處理機(jī)制
13.1 創(chuàng)建線程消息隊列
13.2 線程消息循環(huán)過程
13.3 線程消息發(fā)送過程
13.4 線程消息處理過程
第14章 Android應(yīng)用程序的鍵盤消息處理機(jī)制
14.1 鍵盤消息處理模型
14.2 InputManager的啟動過程
14.2.1 創(chuàng)建InputManager
14.2.2 啟動InputManager
14.2.3 啟動InputDispatcher
14.2.4 啟動InputReader
14.3 InputChannel的注冊過程
14.3.1 創(chuàng)建InputChannel
14.3.2 注冊Server端InputChannel
14.3.3 注冊系統(tǒng)當(dāng)前激活的應(yīng)用程序窗口
14.3.4 注冊Client端InputChannel
14.4 鍵盤消息的分發(fā)過程
14.4.1 InputReader獲得鍵盤事件
14.4.2 InputDispatcher分發(fā)鍵盤事件
14.4.3 系統(tǒng)當(dāng)前激活的應(yīng)用程序窗口獲得鍵盤消息
14.4.4 InputDispatcher獲得鍵盤事件處理完成通知
14.5 InputChannel的注銷過程
14.5.1 銷毀應(yīng)用程序窗口
14.5.2 注銷Client端InputChannel
14.5.3 注銷Server端InputChannel
第15章 Android應(yīng)用程序線程的消息循環(huán)模型
15.1 應(yīng)用程序主線程消息循環(huán)模型
15.2 與界面無關(guān)的應(yīng)用程序子線程消息循環(huán)模型
15.3 與界面相關(guān)的應(yīng)用程序子線程消息循環(huán)模型
第16章 Android應(yīng)用程序的安裝和顯示過程
16.1 應(yīng)用程序的安裝過程
16.2 應(yīng)用程序的顯示過程