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