Android框架揭秘

Android框架揭秘 下載 mobi epub pdf 電子書 2025

[韓] 金泰延 等 著,武傳海 譯
圖書標籤:
  • Android
  • Android框架
  • 係統原理
  • 源碼分析
  • 技術深度
  • 開發
  • 底層
  • AOSP
  • 進階
  • 架構
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115274762
版次:1
商品編碼:10965603
品牌:異步圖書
包裝:平裝
開本:16開
齣版時間:2012-04-01
用紙:膠版紙
頁數:424
正文語種:中文

具體描述

編輯推薦

  韓國年度暢銷書

  android內核開發的很好選擇

  深入研究分析android框架內部運行原理與機製

  2011年度韓國文化體育觀光部優秀學術圖書

內容簡介

  《Android框架揭秘》通過對Android係統源代碼的分析,主要介紹Android框架的初始化過程及主要組件的工作原理。作者直接分析和整理瞭Android框架的主要源代碼,並詳細講解瞭理解框架工作原理所需的各種基礎知識和構成實際Android平颱骨乾的服務框架。其中的主要內容包括:通過啓動程序瞭解Android框架的概要,移植Android以及如何開發適閤各種機器的應用程序,分析Android框架所需的基礎知識,JNI(Java Native Interface)與Binder基礎知識,Zygote、Service Manager、Service Server等Android核心組件,Android服務框架的結構與理解,通過Camera Service、Activity Manager Service等服務分析實際的Android服務等。

  《Android框架揭秘》不僅可以供具備一定開發經驗的Android開發人員參考閱讀,也可作為Android開發初學者的Android框架入門教材使用。

作者簡介

  金泰延,畢業於釜山大學計算機係軟件設計專業,曾參與醫院ERP係統開發及Android手機開發等項目,現為釜山Android平颱學習帶頭人,經常在AndroidPub等研究學習空間中活動,熱衷於大容量數據庫與麵嚮對象係統的研究。



  宋亨周,畢業於KAIST大學,獲得傳感網平颱專業碩士學位,長期從事Android等軟件平颱結構與運行原理的研究工作,擁有多年移動通信、Mobile Widget開發經驗,目前從事HTML5網頁平颱開發。



  樸知勛,畢業於慶星大學計算機科學係,求學期間曾參與過三星軟件嵌入式Linux開發項目,目前在一傢半導體企業內負責SoC檢測,對嵌入式OS多核心環境有較深的研究。



  李白,畢業於仁濟大學計算機工學專業,對傢庭局域網、內嵌係統安全有深入的研究。目前從事在設備中嵌入Android及Linux內核的研究工作。



  林起永,畢業於崇實大學計算機專業,多年從事嵌入式設備平颱的開發工作,積纍瞭豐富的經驗,涉及的領域包括基於Linux的嵌入式設備以及多種與計算機相關的領域。

目錄

第1章 Android Framework概要
1.1 Android源代碼組成
1.2 通過啓動過程分析Android Framework
第2章 搭建Android開發環境
2.1 主機環境構成
2.1.1 安裝VirtualBox
2.1.2 安裝Ubuntu
2.2 搭建Android平颱編譯環境
2.2.1 編譯工具
2.2.2 安裝Repo
2.2.3 下載Android源代碼
2.2.4 編譯Android源代碼
2.3 搭建Android SDK開發環境
2.3.1 下載、安裝Eclipse
2.3.2 下載Android SDK starter
2.3.3 安裝ADT插件
2.3.4 設置Android SDK路徑
2.3.5 安裝Android SDK
2.4 開發Android應用程序
2.5 應用程序Framework源碼級彆調試
2.5.1 加載應用程序Framework源
2.5.2 調試HelloWorld Framework(源碼級)
2.6 小結
第3章 init進程
3.1 init進程運行過程
3.2 init進程源碼分析
3.3 init.rc腳本文件分析與執行
3.3.1 動作列錶(Action List)
3.3.2 服務列錶(Service List)
3.3.3 init.rc文件分析函數
3.3.4 動作列錶與服務列錶的運行
3.4 創建設備節點文件
3.4.1 創建靜態設備節點
3.4.2 動態設備感知
3.5 進程的終止與再啓動
3.6 屬性服務
3.6.1 屬性初始化
3.6.2 屬性變更請求處理
3.7 小結
第4章 JNI與NDK
4.1 Android與JNI
4.2 JNI的基本原理
4.2.1 在Java中調用C庫函數
4.2.2 小結
4.3 調用JNI函數
4.3.1 調用JNI函數的示例程序結構
4.3.2 Java層代碼(JniFuncMain.java)
4.3.3 分析JNI本地函數代碼
4.3.4 編譯及運行結果
4.3.5 在Android中的應用舉例
4.4 在C程序中運行Java類
4.4.1 Invocation API應用示例
4.4.2 編譯及運行
4.4.3 Invocation API在Android中的應用舉例:Zygote進程
4.5 直接注冊JNI本地函數
4.5.1 加載本地庫時,注冊JNI本地函數
4.5.2 Android中的應用舉例
4.6 使用Android NDK開發
4.6.1 安裝Android NDK
4.6.2 使用Android NDK開發步驟
4.6.3 小結
第5章 Zygote
5.1 Zygote是什麼
5.2 由app_process運行ZygoteInit class
5.2.1 生成AppRuntime對象
5.2.2 調用AppRuntime對象
5.2.3 創建Dalvik虛擬機
5.2.4 運行ZygoteInit類
5.3 ZygoteInit類的功能
5.3.1 綁定/dev/socket/zygote套接字
5.3.2 加載應用程序Framework中的類與平颱資源
5.3.3 運行SystemServer
5.3.4 運行新Android應用程序
第6章 Android服務概要
6.1 示例程序:理解Android服務的運行
6.2 Android服務的種類
6.3 Android應用程序服務
6.4 Android係統服務
6.5 運行係統服務
6.5.1 分析媒體服務器(Media Server)的運行代碼
6.5.2 分析係統服務器(System Server)的運行代碼
6.6 Android Service Framework、Binder Driver概要及相關術語
第7章 Android Binder IPC
7.1 Linux內存空間與Binder Driver
7.2 Android Binder Model
7.2.1 Binder IPC數據傳遞
7.2.2 Binder IPC數據流
7.2.3 Binder協議(Binder Protocol)
7.2.4 RPC代碼與RPC數據
7.2.5 Binder尋址(Binder Addressing)
7.3 Android Binder Driver分析
7.3.1 從進程的角度看服務的使用
7.3.2 從Binder Driver角度看服務的使用
7.3.3 Binder Driver函數分析
7.4 Context Manager
7.5 小結
第8章 Android Service Framework
8.1 服務框架(Service Framework)
8.2 服務框架(Service Framework)的構成
8.2.1 各層構成元素的配置
8.2.2 各層構成元素間的相互作用
8.2.3 類的結構
8.3 運行機製
8.3.1 服務接口
8.3.2 服務
8.3.3 服務代理(Service Proxy)
8.3.4 Binder IPC處理
8.4 本地服務管理器(Native Service Manager)
8.4.1 Service Manager概要
8.4.2 Service Manager類
8.4.3 Service Manager的運行
8.5 編寫本地服務
8.5.1 設計HelloWorld係統服務
8.5.2 HelloWorld服務接口
8.5.3 HelloWorld服務
8.5.4 HelloWorld服務代理
8.5.5 運行HelloWorld服務
8.6 小結
第9章 本地係統服務(Native System Service)分析
9.1 相機服務(Cameral Service)
9.2 相機應用程序
9.3 相機服務框架(Camera Service Framework)
9.3.1 相機服務框架層次結構
9.3.2 相機服務框架類
9.4 相機服務框架的運行
9.4.1 初始化相機服務
9.4.2 連接相機服務
9.4.3 相機服務連接過程分析
9.4.4 相機設置與控製
9.4.5 相機設置與控製分析
9.4.6 相機事件處理
9.4.7 相機事件處理分析
9.5 小結
第10章 Java服務框架(Java Service Framework)
10.1 Java服務框架(Java Service Framework)
10.1.1 Java服務框架的層次結構
10.1.2 Java服務框架中各個類間的相互作用
10.2 運行機製
10.2.1 Java服務框架初始化
10.2.2 Binder
10.2.3 BinderProxy
10.2.4 Parcel
10.3 Java係統服務的實現
10.3.1 鬧鍾服務(Alarm Manager Service)分析
10.3.2 編寫HelloWorldService係統服務
10.3.3 使用HelloWorldService係統服務
10.3.4 編譯HelloWorldService係統服務
10.4 Java Service Manager
10.4.1 Java Service Manager簡介
10.4.2 BinderInternal
10.4.3 Java Service Manager的運行實例
10.5 使用AIDL生成服務代理與服務Stub
10.5.1 在AIDL文件中定義服務接口
10.5.2 使用AIDL編譯器,生成服務接口、服務Stub以及服務代理
10.5.3 繼承Stub類創建服務
10.5.4 服務接口的調用
10.6 小結
第11章 Java係統服務運行分析
11.1 Activity Manager Service
11.2 Activity Manager Service創建服務分析
11.2.1 Controller Activity-調用startService()方法
11.2.2 Activity Manager Service的startService()方法的調用過程(使用Binder RPC)
11.2.3 Activity Manager Service--運行startService() Stub方法
11.2.4 運行ActivityThread類的main() 方法
11.2.5 Activity Manager Service--attachApplication() Stub方法
11.3 小結
附錄 AIDL語法
























前言/序言


《Java編程藝術:精通JVM與並發》 深入JVM底層,掌握並發精髓,構建高性能Java應用 在快速發展的軟件工程領域,Java語言憑藉其跨平颱、麵嚮對象、健壯性和廣泛的應用生態,始終占據著舉足輕重的地位。從大規模的企業級係統到日新月異的移動應用,Java的身影無處不在。然而,僅僅掌握Java的語法和API,已不足以應對現代軟件開發日益嚴苛的性能、可靠性和可伸縮性需求。要真正駕馭Java的強大力量,實現應用的極緻優化,理解其底層運行機製——Java虛擬機(JVM)——以及如何高效地處理並發任務,是必不可少的技術基石。 《Java編程藝術:精通JVM與並發》正是這樣一本旨在為Java開發者提供深度洞察的權威指南。本書並非泛泛而談的Java入門教程,也並非僅僅羅列API的參考手冊。它將帶領讀者穿越Java語言的錶麵,深入探索Java世界的內核,從JVM的內部運作原理到並發編程的復雜藝術,層層剖析,力求為每一位渴望成為資深Java工程師的開發者,提供一套係統、全麵且極具實踐價值的知識體係。 第一部分:JVM的奧秘——理解Java的運行之道 Java的“一次編寫,到處運行”的神話,很大程度上歸功於Java虛擬機(JVM)。JVM是Java程序得以執行的核心。本書的第一部分將帶您深入JVM的各個關鍵組件,揭示Java代碼是如何被轉化為機器可理解的指令,並最終在不同的硬件平颱上高效運行的。 類加載機製的深度解析: 從靜態代碼塊的執行到類初始化順序的控製,我們將詳細剖析JVM如何加載、鏈接和初始化Java類。您將瞭解類加載器的委托模型、雙親委派機製的作用,以及自定義類加載器在特定場景下的應用,例如實現熱部署、代碼加密或動態加載插件。理解類加載機製,不僅能幫助您解決ClassCastException等常見問題,更能讓您對Java程序的啓動過程和內存模型有更深刻的認識。 內存區域的精細劃分與垃圾迴收(GC)原理: Java內存模型是理解Java性能優化的關鍵。本書將詳細介紹JVM運行時數據區,包括堆(Heap)、棧(Stack)、方法區(Method Area)、程序計數器(PC Register)以及本地方法棧(Native Method Stack)各自的職責和生命周期。更重要的是,我們將深入探討垃圾迴收的各個方麵:不同垃圾迴收算法(如Serial, Parallel, CMS, G1, ZGC, Shenandoah)的原理、優缺點和適用場景;GC過程中可能齣現的“Stop-The-World”現象及其對應用性能的影響;以及如何通過JVM參數調優,選擇閤適的垃圾迴收器,有效管理堆內存,防止內存泄漏,提升應用吞吐量和響應時間。 字節碼指令集與JVM指令的執行流程: Java源代碼最終被編譯成平颱無關的字節碼(bytecode)。本書將帶您初步瞭解JVM字節碼的構成,包括操作數棧、局部變量錶等概念,並簡要介紹一些常見的字節碼指令,讓您對Java程序在JVM中的執行過程有一個更直觀的理解。雖然本書不要求您精通字節碼編寫,但瞭解其基本原理,對於理解一些底層的性能問題和工具(如Java Agent)至關重要。 JVM性能調優實戰: 理論與實踐相結閤是本書的宗旨。我們將提供一係列的JVM調優案例,涵蓋如何診斷常見的性能瓶頸,如CPU占用過高、內存溢齣、響應延遲等。您將學習使用JVisualVM, JMC(Java Mission Control), Arthas等專業工具進行性能監控和問題定位,並通過調整JVM參數,優化堆大小、年輕代/老年代比例、GC策略等,將Java應用的性能提升到一個新的高度。 第二部分:並發編程的藝術——駕馭多核時代的挑戰 隨著多核處理器的普及,並發編程已成為構建高性能、高可用係統的必備技能。然而,並發編程的復雜性也隨之而來:綫程安全問題、死鎖、活鎖、競態條件等,常常讓開發者頭疼不已。本書的第二部分將為您構建一套堅實的並發編程理論基礎,並提供豐富實用的編程技巧,助您寫齣安全、高效的並發代碼。 綫程模型與Java綫程的生命周期: 我們將從操作係統綫程模型入手,介紹Java綫程的創建、啓動、終止以及綫程間的協作。您將深入理解Java綫程的六種狀態(新建、就緒、運行、阻塞、等待、超時等待、終止),並學會如何通過`Thread`類、`Runnable`接口以及綫程池(`ExecutorService`)來管理綫程。 綫程安全與JMM(Java Memory Model): 理解JMM是編寫正確並發程序的關鍵。本書將詳細解釋JMM的內存可見性、原子性、有序性規則,以及`volatile`關鍵字、`synchronized`關鍵字、`Lock`接口(如`ReentrantLock`)在保證綫程安全方麵的作用和原理。您將學會如何識彆並發場景下的綫程安全隱患,並掌握使用這些工具和機製來構建綫程安全的數據結構和算法。 並發容器與工具類: `java.util.concurrent`包提供瞭大量高效且綫程安全的並發集閤類和工具類,極大地簡化瞭並發編程的難度。本書將重點介紹`ConcurrentHashMap`、`CopyOnWriteArrayList`、`BlockingQueue`等常用並發容器的內部實現原理和使用場景。同時,我們將深入講解`CountDownLatch`、`CyclicBarrier`、`Semaphore`、`ExecutorService`等並發工具類,讓您能夠靈活地構建復雜的並發控製邏輯。 綫程池的深入理解與應用: 綫程池是管理綫程資源、提高程序性能和穩定性的重要手段。本書將深入剖析`ExecutorService`的各種實現(如`ThreadPoolExecutor`)及其核心參數(如核心綫程數、最大綫程數、綫程存活時間、隊列容量等),並指導您如何根據不同的業務場景選擇和配置最優的綫程池策略,避免綫程創建和銷毀的開銷,防止綫程過多導緻資源耗盡。 並發問題的診斷與解決: 針對實際開發中常見的並發問題,如死鎖(`deadlock`)的檢測與預防、活鎖(`livelock`)的規避、競態條件(`race condition`)的消除,本書將提供詳實的分析方法和實用的解決方案。您將學習使用JStack、JConsole等工具來定位和分析綫程問題,並通過代碼重構和模式應用來提升並發程序的健壯性。 函數式並發與Reactor模式: 隨著Java 8及以後版本對函數式編程的支持,以及響應式編程的興起,本書還將引導您瞭解函數式並發的思想,以及如何在現代Java應用程序中利用函數式特性編寫更簡潔、更易於理解的並發代碼。此外,對於高並發I/O場景,我們將介紹Reactor模式(反應器模式)及其在Netty等高性能網絡框架中的應用。 誰適閤閱讀本書? 初中級Java開發者: 希望深入理解Java語言底層原理,擺脫“知其然不知其所以然”的睏境,提升代碼質量和性能。 有一定經驗的Java工程師: 尋求在JVM調優和並發編程方麵進行係統性學習,解決實際項目中遇到的性能瓶頸和並發難題。 對Java虛擬機和並發技術感興趣的技術愛好者: 渴望探索Java運行時環境的深層機製,掌握構建高並發、高性能係統的關鍵技術。 後端開發工程師: 無論您使用的是Spring Boot, Spring Cloud, Dubbo還是其他Java後端框架,紮實的JVM和並發基礎都是您在後端開發領域取得成功的堅實後盾。 本書的價值所在: 《Java編程藝術:精通JVM與並發》不僅僅是一本書,更是一份通往Java高級工程師之路的地圖。它將幫助您: 提升代碼性能: 深入理解JVM內存管理和垃圾迴收,能夠進行有效的JVM調優,顯著提升Java應用的響應速度和吞吐量。 編寫健壯並發代碼: 掌握並發編程的核心原則和實踐技巧,有效避免綫程安全問題,構建穩定可靠的多綫程應用。 解決復雜問題: 具備診斷和解決JVM和並發相關疑難雜癥的能力,成為團隊中不可或缺的技術骨乾。 開闊技術視野: 瞭解Java生態係統的底層運行機製,為進一步學習更高級的Java技術(如JVM源碼、分布式係統、性能監控工具等)打下堅實基礎。 增強職業競爭力: 在當今高度競爭的IT行業,對JVM和並發的深入理解是區分資深工程師和普通開發者的重要標誌。 踏上這段探索之旅,您將不僅僅是Java的“使用者”,更是Java世界的“理解者”和“掌控者”。《Java編程藝術:精通JVM與並發》,邀您一同雕琢您的Java編程技藝,鑄就卓越的軟件工程能力!

用戶評價

評分

說實話,我買過不少關於Android的書籍,但很多都停留在錶麵,講完API就戛然而止,很難真正幫助我理解Android的“靈魂”。《Android框架揭秘》這本書,從我初步的瀏覽來看,似乎走瞭一條不同的路。它不僅僅是告訴我們“怎麼做”,更側重於“為什麼這麼做”。我特彆欣賞它對Android係統組件之間交互的闡述,比如Intent的傳遞過程,它不僅僅是講解Intent的屬性,還會深入到Binder的調用、Service的啓動流程,甚至到進程間的通信細節。這對於想寫齣健壯、高性能Android應用的我來說,是必不可少的知識。我注意到書中對內存管理和GC機製的講解也相當詳細,這部分內容對於優化App性能、避免內存泄漏至關重要,我一直覺得這塊是我的短闆,希望能通過這本書得到有效的提升。書中的代碼示例也顯得比較精煉,沒有冗餘的代碼,直擊核心,這一點我很喜歡,畢竟時間寶貴,不想在無謂的細節上浪費。期待通過閱讀這本書,能夠更從容地應對各種復雜場景下的開發挑戰。

評分

我最近入手瞭《Android框架揭秘》,翻瞭幾頁,感覺這本書的內容非常有分量。它不像市麵上很多同類書籍那樣,隻是簡單地羅列API或者講解一些基礎概念。這本書似乎更側重於Android的“內髒”,也就是其核心框架的運作機製。我尤其對書中關於權限管理和安全機製的講解産生瞭濃厚的興趣。理解Android是如何管理應用權限的,以及它是如何保障用戶數據的安全的,對於開發安全可靠的App至關重要。此外,我對書中對Android多媒體框架的深入探討也充滿瞭期待,無論是音頻、視頻還是相機相關的API,理解其背後的底層實現,能幫助我更好地利用這些功能,甚至進行一些定製化的開發。這本書的文字風格比較嚴謹,但又不失可讀性,我認為這對於深入理解復雜的技術概念非常重要。我希望通過這本書,能夠係統地梳理我對Android框架的認識,填補之前學習中的一些盲點。

評分

剛拿到《Android框架揭秘》這本書,還沒來得及細看,但粗略翻閱一下目錄和部分章節,就能感受到它的深度和專業性。這本書的選題非常切閤我當前的需求,我一直在尋找一本能夠深入剖析Android係統核心組件的書籍,尤其是關於係統服務的設計和實現。我注意到書中對ServiceManager、ActivityManagerService等核心服務的講解,這部分內容對於理解Android係統的“大管傢”如何運作至關重要。而且,從章節的編排來看,它似乎能夠循序漸進地引導讀者理解這些復雜的概念,從基礎的IPC機製到具體的服務實現,層層遞進。我非常期待書中對Android的事件分發機製和消息處理機製的詳細闡述,這部分內容直接關係到App的交互體驗和性能錶現。這本書的紙質和印刷質量也很好,閱讀起來會是一種愉快的體驗。我相信,通過這本書的學習,我能夠對Android框架有一個更加全麵、深刻的認識,從而在實際開發中更加得心應手。

評分

《Android框架揭秘》這本書,我剛拿到手,迫不及待地翻閱瞭一下,整體感覺非常紮實。雖然還沒能深入鑽研每一個細節,但從目錄和章節劃分來看,它涵蓋的廣度和深度都令人印象深刻。特彆是關於Binder通信機製的章節,我之前一直對它有所睏惑,這本書的梳理方式似乎能幫助我理清思路,從最底層的IPC原理到上層的Framework調用,循序漸進地解析,這種由內而外的講解方式,對於我這種想徹底弄明白Android底層原理的讀者來說,簡直是福音。而且,這本書並非隻是羅列API,而是注重解釋“為什麼”,為什麼Binder要這樣設計?它的優勢和劣勢又在哪裏?這種深挖背後的思考,是很多技術書籍所欠缺的。我尤其期待對Activity Manager Service (AMS)和Window Manager Service (WMS)的深入剖析,這兩大核心服務的協作機製,直接決定瞭App的生命周期和UI的呈現,弄懂它們,對於理解Android係統的運行邏輯至關重要。這本書的排版和插圖也顯得比較用心,不會讓人産生枯燥乏味的感覺,希望能幫助我突破Android開發的瓶頸,邁上一個新的颱階。

評分

作為一名長期從事Android開發的工程師,我一直在尋找一本能夠真正幫助我理解Android底層運行機製的書籍。《Android框架揭秘》這本書,給我的第一印象是“有料”。它沒有迴避那些晦澀難懂的技術細節,而是將其一一剖析,並且能夠結閤實際的開發場景進行闡述。我特彆關注瞭書中關於進程管理和綫程調度的部分,這直接關係到App的響應速度和穩定性。理解Android是如何管理多個進程的,以及如何有效地利用多綫程來提高效率,對於開發大型、復雜的App來說至關重要。另外,這本書對UI渲染流程的講解也讓我頗感興趣,從View的繪製到窗口的管理,似乎都能找到深入的解釋,這對於優化UI性能、解決界麵卡頓問題非常有指導意義。我很期待書中對Handler、Looper、MessageQueue這套異步消息處理機製的詳細講解,這在Android開發中無處不在,但要真正理解其工作原理卻並非易事。這本書的厚度和內容密度,預示著這是一次深度的學習之旅,我準備花足夠的時間來消化它。

評分

學習中,還沒看完,主要是想當工具書來查的,後來感覺還是有點齣入。

評分

正版書籍,物流很快。不錯~

評分

還行吧 湊閤看瞭啊。。。

評分

書還是不錯的。 慢慢看

評分

挺不錯的書!!!!!

評分

不錯,快遞挺給力

評分

非常好,非常好,深入安卓底層框架

評分

好用好用好用好用好用

評分

書還是不錯的。 慢慢看

相關圖書

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

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