注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)計算機組織與體系結(jié)構(gòu)Android系統(tǒng)源代碼情景分析(修訂版)

Android系統(tǒng)源代碼情景分析(修訂版)

Android系統(tǒng)源代碼情景分析(修訂版)

定 價:¥129.00

作 者: 羅升陽
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787121275470 出版時間: 2016-01-01 包裝:
開本: 16開 頁數(shù): 840 字?jǐn)?shù):  

內(nèi)容簡介

  在內(nèi)容上,《Android系統(tǒng)源代碼情景分析(修訂版)(含CD光盤1張)》結(jié)合使用情景,全面、深入、細(xì)致地分析了Android系統(tǒng)的源代碼,涉及到Linux內(nèi)核層、硬件抽象層(HAL)、運行時庫層(Runtime)、應(yīng)用程序框架層(Application Framework)以及應(yīng)用程序?qū)樱ˋpplication)。在組織上,《Android系統(tǒng)源代碼情景分析(修訂版)(含CD光盤1張)》將上述內(nèi)容劃分為初識Android系統(tǒng)、Android專用驅(qū)動系統(tǒng)和Android應(yīng)用程序框架三大篇。初識Android系統(tǒng)篇介紹了參考書籍、基礎(chǔ)知識以及實驗環(huán)境搭建;Android專用驅(qū)動系統(tǒng)篇介紹了Logger日志驅(qū)動程序、Binder進(jìn)程間通信驅(qū)動程序以及Ashmem匿名共享內(nèi)存驅(qū)動程序;Android應(yīng)用程序框架篇從組件、進(jìn)程、消息和安裝四個維度對Android應(yīng)用程序的框架進(jìn)行了深入的剖析。通過上述內(nèi)容及其組織,《Android系統(tǒng)源代碼情景分析(修訂版)(含CD光盤1張)》使讀者既能從整體上把握Android系統(tǒng)的層次結(jié)構(gòu),又能從細(xì)節(jié)上掌握每一個層次的要點。

作者簡介

  羅升陽,1984年出生,2007年畢業(yè)于浙江大學(xué)計算機系,取得學(xué)士學(xué)位,2010年畢業(yè)于上海交通大學(xué)計算機系,取得碩士學(xué)位。畢業(yè)后一直從事于互聯(lián)網(wǎng)軟件開發(fā),并且致力于移動平臺的研究,特別是對Android平臺有深入的理解和研究。在國內(nèi)知名IT技術(shù)社區(qū)CSDN上發(fā)表了數(shù)十篇高質(zhì)量的Android系統(tǒng)原創(chuàng)性文章,并且開設(shè)博客專欄――《老羅的Android之旅》,積極與網(wǎng)友互動,深受大家喜愛,訪問量一直居于前茅。

圖書目錄

第1篇 初識Android系統(tǒng)第1章 準(zhǔn)備知識21.1 Linux內(nèi)核參考書籍...................21.2 Android應(yīng)用程序參考書籍...............................31.3 下載、編譯和運行Android源代碼..........................31.3.1 下載Android源代碼.............................41.3.2 編譯Android源代碼.........................................41.3.3 運行Android模擬器.............................51.4 下載、編譯和運行Android內(nèi)核源代碼.........................61.4.1 下載Android內(nèi)核源代碼...................................61.4.2 編譯Android內(nèi)核源代碼...................71.4.3 運行Android模擬器..............................81.5 開發(fā)第一個Android應(yīng)用程序...............81.6 單獨編譯和打包Android應(yīng)用程序模塊.....111.6.1 導(dǎo)入單獨編譯模塊的mmm命令....................111.6.2 單獨編譯Android應(yīng)用程序模塊...................121.6.3 重新打包Android系統(tǒng)鏡像文件 ......12第2章 硬件抽象層.......................................132.1 開發(fā)Android硬件驅(qū)動程序.......................142.1.1 實現(xiàn)內(nèi)核驅(qū)動程序模塊...................142.1.2 修改內(nèi)核Kconfig文件...........................................212.1.3 修改內(nèi)核Makefile文件....................................222.1.4 編譯內(nèi)核驅(qū)動程序模塊.........................222.1.5 驗證內(nèi)核驅(qū)動程序模塊......................232.2 開發(fā)C可執(zhí)行程序驗證Android硬件驅(qū)動程序..........242.3 開發(fā)Android硬件抽象層模塊........................262.3.1 硬件抽象層模塊編寫規(guī)范....................262.3.2 編寫硬件抽象層模塊接口..292.3.3 硬件抽象層模塊的加載過程.........................332.3.4 處理硬件設(shè)備訪問權(quán)限問題...................362.4 開發(fā)Android硬件訪問服務(wù)......................................382.4.1 定義硬件訪問服務(wù)接口.........................382.4.2 實現(xiàn)硬件訪問服務(wù)....................................392.4.3 實現(xiàn)硬件訪問服務(wù)的JNI方法................402.4.4 啟動硬件訪問服務(wù).......................432.5 開發(fā)Android應(yīng)用程序來使用硬件訪問服務(wù)........44第3章 智能指針.................................................493.1 輕量級指針.....................................................503.1.1 實現(xiàn)原理分析.............................................503.1.2 應(yīng)用實例分析............................533.2 強指針和弱指針......................................543.2.1 強指針的實現(xiàn)原理分析.................553.2.2 弱指針的實現(xiàn)原理分析......................613.2.3 應(yīng)用實例分析................................67第2篇 Android專用驅(qū)動系統(tǒng)第4章 Logger日志系統(tǒng)...........744.1 Logger日志格式............................754.2 Logger日志驅(qū)動程序.........................764.2.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu).....................774.2.2 日志設(shè)備的初始化過程.........784.2.3 日志設(shè)備文件的打開過程....834.2.4 日志記錄的讀取過程............................844.2.5 日志記錄的寫入過程.........884.3 運行時庫層日志庫.................934.4 C/C++日志寫入接口.........................................1004.5 Java日志寫入接口......................................................1044.6 Logcat工具分析.................................................1104.6.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)...........................................1114.6.2 初始化過程.................................................1154.6.3 日志記錄的讀取過程.........................1274.6.4 日志記錄的輸出過程..................................132第5章 Binder進(jìn)程間通信系統(tǒng).....................1445.1 Binder驅(qū)動程序...................................1455.1.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu).......................1465.1.2 Binder設(shè)備的初始化過程.....................1645.1.3 Binder設(shè)備文件的打開過程................................1655.1.4 Binder設(shè)備文件的內(nèi)存映射過程.........................1665.1.5 內(nèi)核緩沖區(qū)管理.................................1735.2 Binder進(jìn)程間通信庫.....................................1835.3 Binder進(jìn)程間通信應(yīng)用實例................1885.4 Binder對象引用計數(shù)技術(shù)...............1965.4.1 Binder本地對象的生命周期.....1975.4.2 Binder實體對象的生命周期..2015.4.3 Binder引用對象的生命周期.......2045.4.4 Binder代理對象的生命周期..........2095.5 Binder對象死亡通知機制.........................2125.5.1 注冊死亡接收通知....................................2135.5.2 發(fā)送死亡接收通知............................2165.5.3 注銷死亡接收通知.........................2215.6 Service Manager的啟動過程......................2245.6.1 打開和映射Binder設(shè)備文件.........................2265.6.2 注冊為Binder上下文管理者......2275.6.3 循環(huán)等待Client進(jìn)程請求................2315.7 Service Manager代理對象的獲取過程.....2385.8 Service組件的啟動過程........................2445.8.1 注冊Service組件.......................2455.8.2 啟動Binder線程池............................2895.9 Service代理對象的獲取過程........................2915.10 Binder進(jìn)程間通信機制的Java接口................3005.10.1 Service Manager的Java代理對象的獲取過程....3005.10.2 Java服務(wù)接口的定義和解析................................3105.10.3 Java服務(wù)的啟動過程...................................3135.10.4 Java服務(wù)代理對象的獲取過程.......................3205.10.5 Java服務(wù)的調(diào)用過程...............................................323第6章 Ashmem匿名共享內(nèi)存系統(tǒng)...........................3276.1 Ashmem驅(qū)動程序...................................................3286.1.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)..........................................3286.1.2 匿名共享內(nèi)存設(shè)備的初始化過程.......3306.1.3 匿名共享內(nèi)存設(shè)備文件的打開過程.....3326.1.4 匿名共享內(nèi)存設(shè)備文件的內(nèi)存映射過程..3346.1.5 匿名共享內(nèi)存塊的鎖定和解鎖過程.................3366.1.6 匿名共享內(nèi)存塊的回收過程..................3446.2 運行時庫cutils的匿名共享內(nèi)存訪問接口..................................... 3456.3 匿名共享內(nèi)存的C++訪問接口.......3496.3.1 MemoryHeapBase................3496.3.2 MemoryBase........................................3596.3.3 應(yīng)用實例......................3646.4 匿名共享內(nèi)存的Java訪問接口.....3706.4.1 MemoryFile........3706.4.2 應(yīng)用實例..................................3756.5 匿名共享內(nèi)存的共享原理...........386第3篇 Android應(yīng)用程序框架第7章 Activity組件的啟動過程.............................3927.1 Activity組件應(yīng)用實例.................................3927.2 根Activity組件的啟動過程.........................................3987.3 子Activity組件在進(jìn)程內(nèi)的啟動過程............4327.4 子Activity組件在新進(jìn)程中的啟動過程.................440第8章 Service組件的啟動過程..........................4438.1 Service組件應(yīng)用實例........................................4438.2 Service組件在新進(jìn)程中的啟動過程.....................4518.3 Service組件在進(jìn)程內(nèi)的綁定過程.................463第9章 Android系統(tǒng)廣播機制.........................4869.1 廣播機制應(yīng)用實例.............................................4879.2 廣播接收者的注冊過程...................................4939.3 廣播的發(fā)送過程.........................................501第10章 Content Provider組件的實現(xiàn)原理.......52410.1 Content Provider組件應(yīng)用實例......................52510.1.1 ArticlesProvider..............................52510.1.2 Article..............................................53510.2 Content Provider組件的啟動過程.................55010.3 Content Provider組件的數(shù)據(jù)共享原理..57310.3.1 數(shù)據(jù)共享模型.................................................57310.3.2 數(shù)據(jù)傳輸過程.................................................57610.4 Content Provider組件的數(shù)據(jù)更新通知機制......59610.4.1 注冊內(nèi)容觀察者.................................59710.4.2 發(fā)送數(shù)據(jù)更新通知.........................603第11章 Zygote和System進(jìn)程的啟動過程...................61111.1 Zygote進(jìn)程的啟動腳本..................................61111.2 Zygote進(jìn)程的啟動過程......................................61411.3 System進(jìn)程的啟動過程........................................622第12章 Android應(yīng)用程序進(jìn)程的啟動過程..63012.1 應(yīng)用程序進(jìn)程的創(chuàng)建過程.............................63012.2 Binder線程池的啟動過程...................63912.3 消息循環(huán)的創(chuàng)建過程............................641第13章 Android應(yīng)用程序的消息處理機制....................64513.1 創(chuàng)建線程消息隊列..........................64513.2 線程消息循環(huán)過程.........................65013.3 線程消息發(fā)送過程.................................65513.4 線程消息處理過程.................................660第14章 Android應(yīng)用程序的鍵盤消息處理機制......66714.1 鍵盤消息處理模型...........................66714.2 InputManager的啟動過程.........................67014.2.1 創(chuàng)建InputManager.........................................67014.2.2 啟動InputManager....................67314.2.3 啟動InputDispatcher................67514.2.4 啟動InputReader...................67714.3 InputChannel的注冊過程............................68814.3.1 創(chuàng)建InputChannel.....................68914.3.2 注冊Server端InputChannel.....................69714.3.3 注冊系統(tǒng)當(dāng)前激活的應(yīng)用程序窗口..70114.3.4 注冊Client端InputChannel......................70614.4 鍵盤消息的分發(fā)過程..................................70914.4.1 InputReader獲得鍵盤事件...............................71014.4.2 InputDispatcher分發(fā)鍵盤事件..................71714.4.3 系統(tǒng)當(dāng)前激活的應(yīng)用程序窗口獲得鍵盤消息......72714.4.4 InputDispatcher獲得鍵盤事件處理完成通知.....74314.5 InputChannel的注銷過程................................74614.5.1 銷毀應(yīng)用程序窗口 .....74714.5.2 注銷Client端InputChannel........75614.5.3 注銷Server端InputChannel.....................................758第15章 Android應(yīng)用程序線程的消息循環(huán)模型.............76415.1 應(yīng)用程序主線程消息循環(huán)模型..................................76515.2 與界面無關(guān)的應(yīng)用程序子線程消息循環(huán)模型........76615.3 與界面相關(guān)的應(yīng)用程序子線程消息循環(huán)模型..........769第16章 Android應(yīng)用程序的安裝和顯示過程..........77816.1 應(yīng)用程序的安裝過程 ...................................77816.2 應(yīng)用程序的顯示過程...........................814 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號