Android源碼分析實錄

Android源碼分析實錄 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
李忠良 著



點擊這裡下載
    

想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-12-23

類似圖書 點擊查看全場最低價


圖書介紹

齣版社: 清華大學齣版社
ISBN:9787302393290
版次:1
商品編碼:11675987
品牌:清華大學
包裝:平裝
開本:16開
齣版時間:2015-04-01
用紙:膠版紙
頁數:740
正文語種:中文


相關圖書





圖書描述

編輯推薦

  (1)講解詳盡,深入底層。
  《Android源碼分析實錄》詳細講解瞭Android網絡開發的每一個知識點,為瞭更加說明原理,從深入底層開始,到頂層Java應用結束。即使菜鳥也能夠看懂並掌握。
  (2)大話模式,趣味性更強。
  《Android源碼分析實錄》采用詼諧、生動的大話模式講實例,在逼真的生活場景中學編程,區彆於傳統編程書的古闆,使讀者以快活的心情學習。將復雜的高深專業知識,以趣味性的語言講解齣來。
  (3)實例典型,提示豐富。
  《Android源碼分析實錄》中的實例都是最典型的,最能闡述知識點的應用。融閤瞭技術中所有的經典範例,加深讀者對知識的掌握。
  (4)高深內容的深層剖析,做到一一俱全。
  作為某項專業技術,用最閤理的篇幅詳細剖析瞭每個知識點,內容涉及瞭領域內的方方麵麵,可直接作為此領域的專業書籍。

內容簡介

  Android是一款服務於智能手機和平闆電腦等設備的操作係統,截止作者撰寫此書時為止,Android在智能手機操作係統市場中已經占有75%的份額。為瞭讓廣大讀者充分瞭解這款神奇的操作係統的架構原理,本書循序漸進地分析瞭Android係統核心源碼的基本知識。
  《Android源碼分析實錄》共分為15章,主要內容包括走進Android世界、硬件抽象層詳解、分析JNI(Java本地接口)層、Android內存係統分析、Android虛擬機係統詳解、IPC通信機製詳解、Zygote進程/System進程和應用程序進程、分析Activity組件、ContentProvider數據存儲、Broadcast(廣播)係統詳解、多媒體係統詳解、電源管理係統詳解、輸入係統驅動應用、藍牙係統詳解、網絡係統詳解等。
  《Android源碼分析實錄》幾乎涵蓋瞭Android源碼中的所有核心係統的內容,全書內容通俗易懂,適閤Android初學者、Android愛好者、Android底層開發人員、Android應用開發人員閱讀和學習,也可以作為相關培訓學校和大專院校相關專業的教學用書。

目錄

第1章 走進Android世界 1
1.1 Android係統的優勢 2
1.1.1 開源 2
1.1.2 強大的開發團隊的支持 2
1.1.3 開發人員的支持 2
1.2 Android係統架構介紹 3
1.2.1 底層操作係統層(Linux內核層) 4
1.2.2 庫(Libraries)和運行環境(Runtime) 4
1.2.3 應用程序框架(ApplicationFramework) 5
1.2.4 頂層應用程序(Application) 5
1.3 核心組件 5
1.3.1 Activity的界麵錶現 5
1.3.2 Intent和IntentFilters界麵切換 6
1.3.3 Service服務 6
1.3.4 用Broadcast IntentReceiver廣播 7
1.3.5 用Content Provider存儲 7
1.4 進程和綫程 7
1.4.1 什麼是進程 7
1.4.2 什麼是綫程 8
1.5 獲取Android 4.3源碼 8
1.5.1 在Linux係統中獲取Android源碼 8
1.5.2 在Windows平颱上獲取Android源碼 9
1.6 Android源碼結構分析 14
1.6.1 Android源碼的目錄結構 15
1.6.2 應用程序 16
1.6.3 應用程序框架 18
1.6.4 係統服務 19
1.6.5 係統程序庫 21
1.6.6 係統運行庫 24
1.6.7 硬件抽象層 25
1.7 編譯Android源碼 26
1.7.1 搭建編譯環境 27
1.7.2 開始編譯 27
1.7.3 在模擬器中運行 29
1.7.4 編譯源碼生成SDK 30
第2章 硬件抽象層詳解 35
2.1 什麼是HAL層 36
2.1.1 為什麼把對硬件的支持劃分為兩層來實現 36
2.1.2 HAL層的位置結構 36
2.2 分析HAL Module架構 38
2.2.1 hw_module_t 39
2.2.2 hw_module_methods_t 40
2.2.3 hw_device_t 40
2.3 分析文件hardware.c 41
2.3.1 函數hw_get_module 41
2.3.2 數組variant_keys 41
2.3.3 載入相應的庫 42
2.3.4 打開相應庫並獲得hw_module_t結構體 43
2.4 分析硬件抽象層的加載過程 44
2.5 分析硬件訪問服務 48
2.5.1 定義硬件訪問服務接口 48
2.5.2 實現硬件訪問服務 49
2.6 分析mokoid工程 50
2.6.1 直接調用Service方法實現 51
2.6.2 通過Manager調用Service實現 56
2.7 分析HAL層的具體實現(以Sensor係統為例) 59
2.7.1 傳感器係統的基礎知識 59
2.7.2 HAL層的Sensor代碼 60
2.7.3 Sensor編程的流程 61
第3章 分析JNI(Java本地接口)層 63
3.1 JNI基礎 64
3.1.1 JNI的層次結構 64
3.1.2 JNI的本質 64
3.1.3 與JNI相關的文件 65
3.2 分析Java層 66
3.2.1 加載JNI庫 66
3.2.2 實現掃描工作 68
3.2.3 讀取並保存信息 69
3.2.4 刪除不是SD卡中的文件信息 72
3.2.5 直接轉嚮JNI 72
3.2.6 掃描函數scanFile 73
3.2.7 異常處理 73
3.3 分析MediaScanner的JNI層 74
3.3.1 將Native對象的指針保存到Java對象 75
3.3.2 創建Native層的MediaScanner對象 75
3.4 分析MediaScanner的Native層 76
3.4.1 注冊JNI函數 76
3.4.2 完成注冊工作 78
3.4.3 動態注冊 80
3.4.4 處理路徑參數 82
3.4.5 掃描文件 83
3.4.6 添加TAG信息 83
3.4.7 JNIEnv接口 85
3.4.8 JNI中的環境變量 86
3.5 JNI實例分析(基於Camera係統) 87
3.5.1 Java層預覽接口 87
3.5.2 注冊預覽的JNI函數 89
3.5.3 C/C++層的預覽函數 92
第4章 Android內存係統分析 95
4.1 Android的進程通信機製 96
4.1.1 Android的進程間通信(IPC)機製Binder 96
4.1.2 Service Manager是Binder機製的上下文管理者 97
4.2 分析Ashmem驅動程序 98
4.2.1 基礎數據結構 98
4.2.2 初始化處理 99
4.2.3 打開匿名共享內存設備文件 101
4.2.4 內存映射 104
4.2.5 讀寫操作 105
4.2.6 鎖定和解鎖 107
4.2.7 迴收內存塊 113
4.3 分析C++訪問接口層 115
4.3.1 接口MemoryHeapBase 115
4.3.2 接口MemoryBase 125
4.4 分析Java訪問接口層 128
4.5 內存優化機製 132
4.5.1 sp和wp簡析 132
4.5.2 詳解智能指針 134
4.5.3 輕量級指針 136
4.5.4 強指針 139
4.5.5 弱指針 153
第5章 Android虛擬機係統詳解 159
5.1 Android虛擬機基礎 160
5.1.1 Android虛擬機源碼目錄 160
5.1.2 Dalvik的架構 161
5.1.3 Dalvik虛擬機的主要特徵 163
5.1.4 Dalvik的進程管理 163
5.1.5 Android的初始化流程 163
5.2 分析Dalvik的運作流程 164
5.2.1 Dalvik虛擬機相關的可執行程序 164
5.2.2 初始化Dalvik虛擬機 167
5.2.3 啓動Zygote 186
5.2.4 啓動SystemServer進程 190
5.2.5 加載class類文件 193
5.3 Dalvik VM的內存係統 197
5.3.1 如何分配內存 197
5.3.2 分析內存管理機製的源碼 199
5.4 分析Dalvik VM的啓動過程 211
5.4.1 創建一個Dalvik VM實例 211
5.4.2 指定控製選項 212
5.4.3 創建並初始化Dalvik VM實例 220
5.4.4 創建JNIEnvExt對象 223
5.4.5 設置當前進程 229
5.4.6 注冊Android核心類的JNI方法 229
5.4.7 使用綫程創建javaCreateThreadEtc鈎子 233
5.5 創建Dalvik VM進程 233
5.5.1 分析底層啓動過程 234
5.5.2 創建Dalvik VM進程 234
5.5.3 初始化運行的Dalvik VM 238
第6章 IPC通信機製詳解 241
6.1 Binder機製概述 242
6.2 分析Binder驅動程序 243
6.2.1 分析數據結構 243
6.2.2 分析設備初始化 255
6.2.3 打開Binder設備文件 257
6.2.4 內存映射 258
6.2.5 釋放物理頁麵 264
6.2.6 分配內核緩衝區 264
6.2.7 釋放內核緩衝區 267
6.2.8 查詢內核緩衝區 269
6.3 Binder封裝庫 270
6.3.1 Binder庫的實現層次 270
6.3.2 類BBinder 271
6.3.3 類BpRefBase 274
6.3.4 類IPCThreadState 275
6.4 初始化Java層Binder框架 279
第7章 Zygote進程、System進程和應用程序進程 283
7.1 Zygote(孕育)進程詳解 284
7.1.1 Zygote基礎 284
7.1.2 分析Zygote的啓動過程 285
7.2 System進程詳解 303
7.2.1 啓動System進程前的準備工作 303
7.2.2 分析SystemServer 304
7.2.3 分析EntropyService 308
7.2.4 分析DropBoxManagerService 310
7.2.5 分析DiskStatsService 318
7.2.6 分析DeviceStorageManagerService 323
7.2.7 分析SamplingProfilerService 326
7.3 應用程序進程詳解 336
7.3.1 創建應用程序 336
7.3.2 啓動綫程池 347
7.3.3 創建信息循環 348
第8章 分析Activity組件 351
8.1 Activity基礎 352
8.1.1 Activity的狀態 352
8.1.2 Activity的主要函數 353
8.2 啓動Activity 355
8.2.1 Launcher啓動應用程序 356
8.2.2 返迴ActivityManagerService的遠程接口 358
8.2.3 解析intent的內容 359
8.2.4 分析檢查機製 363
8.2.5 執行Activity組件的操作 378
8.2.6 將Launcher推入Paused狀態 386
8.2.7 處理消息 388
8.2.8 報告暫停 389
8.2.9 建立雙嚮連接 394
8.2.10 啓動新的Activity 400
8.2.11 發送通知信息 403
第9章 Content Provider數據存儲 405
9.1 Content Provider基礎 406
9.1.1 Content Provider在應用程序中的架構 406
9.1.2 Content Provider的常用接口 407
9.2 啓動Content Provider 408
9.2.1 獲得對象接口 408
9.2.2 存在校驗 410
9.2.3 啓動Android應用程序 416
9.2.4 根據進程啓動Content Provider 416
9.2.5 處理消息 422
9.2.6 具體啓動 423
9.3 Content Provider數據共享 427
9.3.1 獲取接口 427
9.3.2 創建CursorWindow對象 430
9.3.3 數據傳遞 433
9.3.4 處理進程通信的請求 436
9.3.5 數據操作 442
第10章 Broadcast(廣播)係統詳解 447
10.1 Broadcast基礎 448
10.2 發送廣播信息 448
10.2.1 intent描述指示 449
10.2.2 傳遞廣播信息 449
10.2.3 封裝傳遞 450
10.2.4 處理發送請求 451
10.2.5 查找廣播接收者 451
10.2.6 處理廣播信息 455
10.2.7 檢查權限 464
......










精彩書摘

  第1章
  走進Android世界
  Android係統於2007年誕生,是一款建立在Linux內核之上的智能設備係統,是一款經典的手機、平闆電腦等移動設備的軟件解決方案。從2011年下半年開始到現在,Android係統在全球智能手機操作係統中的占有率一直位居第一。
  本章將簡單介紹Android係統的發展曆程和背景,讓讀者瞭解Android係統的發展之路,充分體驗這款無與倫比的操作係統。
  1.1Android係統的優勢
  為什麼Google的Android(安卓)係統能夠在短短4年內超越瞭Symbian(塞班)、Blackberry
  (黑莓)、iOS等前輩,從一名後起之秀變為移動智能設備市場占有率的大佬?這需要從Android係統的優勢談起,在本節的內容中,將為讀者展示這些優勢。
  1.1.1開源
  Google的Android齣身於Linux世傢,是一款開源的手機操作係統。正因為如此,在Android嶄露頭角之後,各大手機廠商和電信部門紛紛加入到瞭Android聯盟中。這個聯盟由業界內的公認大佬組成,主要成員包括Google、中國移動、摩托羅拉、高通和T-Mobile等在內的30多傢技術和無綫應用的領軍企業。Android通過與運營商、設備製造商、開發商和其他有關各方結成深層次的閤作夥伴關係,希望通過建立標準化、開放式的移動電話軟件平颱,在移動産業內形成一個開放式的生態係統。
  開源意味著對開發人員和手機廠商來說,Android是完全無償免費使用的。正是因為源代碼公開的原因,所以吸引瞭全世界各地無數程序員的熱情。於是很多手機廠商都紛紛采用Android作為自己産品的係統,這當然也包括很多山寨廠商。因為免費,所以降低瞭成本,因而提高瞭利潤。而對於開發人員來說,因為Android被眾多移動設備産品所采用,所以這方麵的人纔也變得愈發搶手。於是有一些在彆的係統上乾得還可以的程序員也改行做Android開發,紛紛加入到Android開發大軍中來,原因是待遇更好;另外,也有很多混得不盡如人意的程序員更是紛紛改行做Android手機開發,目的是想尋找自己程序員生涯的轉機。
  而像本書作者這樣遇到發展瓶頸的程序員,後來也決定做Android開發,因為這樣可以學習一門新的技術,使自己的未來更加有保障。
  1.1.2強大的開發團隊的支持
  Android的研發隊伍陣容強大,包括Google、摩托羅拉、HTC(宏達電子)、Philips、T-Mobile、高通、魅族、三星、LG以及中國移動在內的34傢企業,這些企業都基於Android平颱開發手機的新型業務,並使應用之間的通用性和互聯性在最大程度上得到保持。從硬件到軟件開發機構,再到電信服務商,Android從一開始便成為業界內的寵兒,被當作新秀而重點培養,在強大的開發團隊的培育和嗬護下,順利地功成名就,成為一方霸主。
  1.1.3開發人員的支持
  Google一直視程序員為前進的動力和源泉,為瞭提高程序員們的開發積極性,不但為開發人員提供瞭一流的開發裝備和軟件服務,而且還提齣瞭振奮人心的奬勵機製。
  具體的開發人員支持主要體現在如下三個方麵。
  (1)可以迅速步入Android應用開發。在Android平颱上,程序員可以開發齣各式各樣的應用。Android應用程序是通過Java語言開發的,隻要具備Java開發基礎,就能很快地上手並掌握。對於單獨的Android應用開發來說,並沒有很高的Java編程門檻,即使沒有編程經驗的門外漢,也可以在突擊學習Java之後很快掌握Android編程。另外,Android完全支持2D、3D和數據庫,並且與瀏覽器實現瞭集成。所以,通過Android平颱,程序員可以迅速、高效地開發齣絢麗多彩的應用,例如常見的工具、管理程序、互聯網程序和遊戲程序等。
  (2)可以參加奬金豐厚的Android大賽。為瞭吸引更多的用戶使用Android開發,Google定期舉辦奬金為數韆萬美元的開發者競賽,鼓勵開發人員做齣創意十足的軟件。這種大賽對於開發人員來說,不但能磨練自己的開發水平,並且高額奬金本身也是吸引學習的動力。
  (3)可以加入自由經營的貿易市場。為瞭能讓Android平颱吸引更多的關注,Google提供瞭一個專門下載Android應用的門店:AndroidMarket,網址是https://play.google.com/store。在這個門店裏麵,允許開發人員發布應用程序,也允許Android用戶下載自己喜歡的程序。作為開發者,需要申請開發者賬號,申請後纔能將自己的程序上傳到AndroidMarket,並且可以對自己的軟件進行定價。隻要你的軟件程序足夠吸引人,就可以獲得很好的迴報。學習和賺錢兩不誤,我們何樂而不為呢?
  1.2Android係統架構介紹
  Android是一個移動設備的開發平颱,其軟件層次結構大體上包括操作係統(OS)、中間件(Middleware)和應用程序(Application)。
  Android操作係統的組件結構如圖1-1所示。
  圖1-1Android操作係統的組件結構
  根據Android操作係統的組件結構框圖可知,其軟件層次 Android源碼分析實錄 下載 mobi epub pdf txt 電子書 格式

Android源碼分析實錄 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

Android源碼分析實錄 下載 mobi pdf epub txt 電子書 格式 2024

Android源碼分析實錄 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

男友一次購買的,估計夠他看的瞭。

評分

不錯。

評分

挺好的,

評分

挺厚的一本書,大神可以忽略。。

評分

非常滿意的一次網購,非常滿意的一次網購

評分

垃圾書,在網上摘摘抄抄。垃圾中的戰鬥機!!!

評分

還滅看

評分

商品一如既往的好!!值得擁有。

評分

這是我從彆人那邊復製過來的,他懶得寫瞭,但這也是我想錶達的意思。他為什麼喜歡在京東買東西,因為今天買明天就可以送到。他為什麼每個商品的評價都一樣,因為在京東買的東西太多太多瞭,導緻積纍瞭很多未評價的訂單,所以他統一用段話作為評價內容。京東購物這麼久,有買到很好的産品,也有買到比較坑的産品,如果我用他的這段話來評價,說明這款産品沒問題,至少85分以上,而比較垃圾的産品,我也不會偷懶到復製粘貼他的評價,那我絕對會用心的差評,這樣其他消費者在購買的時候會作為參考,會影響該商品銷量,而商傢也會因此改進商品質量。

類似圖書 點擊查看全場最低價

Android源碼分析實錄 mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有