
《深入理解Android》卷Ⅱ:系统架构与服务管理解析

《深入理解Android》卷Ⅱ是一本专注于Android系统内部机制和组件深入分析的书籍,涵盖了从源码搭建、Binder机制、服务系统、应用管理到内容提供等多个核心知识点。以下是对标题和描述中提到的知识点的详细说明:
### 第1章 搭建Android源码工作环境
- **Android系统架构**:介绍Android平台的整体架构,包括Linux内核、系统库、Android运行时、应用程序框架等层次。
- **搭建开发环境**:
- **下载源码**:详细描述了如何从Android Open Source Project (AOSP)下载完整的Android源代码。
- **编译源码**:指导读者如何编译源码以创建自己的ROM或进行修改和测试。
- **利用Eclipse调试system_process**:虽然Eclipse已经不是主流开发环境,但本节可能还会介绍如何用它来调试Android系统的核心进程。
### 第2章 深入理解Java Binder和MessageQueue
- **Java层中的Binder架构分析**:
- **Binder架构总览**:解释Android中Binder进程间通信机制的工作原理及其在Java层的实现。
- **初始化Java层Binder框架**:描述Binder框架在Java层初始化的步骤和关键组件。
- **addService实例分析**:具体案例,分析服务注册过程中的Binder通信细节。
- **Java层Binder架构总结**:总结Java Binder架构的工作模式和关键点。
- **心系两界的MessageQueue**:
- **MessageQueue的创建**:介绍消息队列的创建机制和在事件循环中的作用。
- **提取消息**:探讨如何从消息队列中取出消息,并进行分发。
- **nativePollOnce函数分析**:分析底层对消息队列的轮询机制。
- **MessageQueue总结**:总结消息队列的实现和在Android事件处理中的地位。
### 第3章 深入理解SystemServer
- **SystemServer分析**:
- **main函数分析**:解析SystemServer程序的入口点,以及它如何启动系统服务。
- **Service群英会**:详述各种系统服务的职责及其在Android系统中的作用。
- **EntropyService分析**:介绍熵服务的用途,即为系统提供随机数。
- **DropBoxManagerService分析**:
- **DBMS构造函数分析**:讨论DropBoxManagerService的构造函数如何初始化。
- **dropbox日志文件的添加**:探讨日志文件如何被记录到dropbox目录。
- **DBMS和settings数据库**:分析dropbox服务与系统设置数据库的交互。
- **DiskStatsService和DeviceStorageMonitorService分析**:
- **DiskStatsService分析**:探讨磁盘状态服务是如何工作的。
- **DeviceStorageManagerService分析**:详细解读设备存储监控服务的机制。
- **SamplingProfilerService分析**:讲解性能分析服务的实现和用法。
- **ClipboardService分析**:
- **复制数据到剪贴板**:讨论如何将数据复制到Android系统的剪贴板。
- **从剪切板粘贴数据**:解释如何从剪贴板获取数据。
- **CBS中的权限管理**:探讨剪贴板服务中的权限管理机制。
### 第4章 深入理解PackageManagerService
- **初识PackageManagerService**:概述PackageManagerService的作用,即管理应用的安装、卸载和查询。
- **PKMS的main函数分析**:
- **构造函数分析之前期准备工作**:探讨PackageManagerService的启动和初始化过程。
- **构造函数分析之扫描Package**:详细介绍如何扫描和处理APK文件中的应用程序包。
- **构造函数分析之扫尾工作**:讲解Package扫描后的清理和优化步骤。
- **PKMS构造函数总结**:对PackageManagerService构造过程的总结。
- **APK Installation分析**:
- **adb install分析**:解释ADB工具安装应用程序的步骤。
- **pm分析**:讲述命令行工具pm(Package Manager)的使用。
- **installPackageWithVerification函数分析**:探讨安装过程中对APK的验证机制。
- **APK 安装流程总结**:概括APK从安装到最终加载的整个流程。
- **Verification介绍**:介绍APK签名验证的必要性和过程。
- **queryIntentActivities分析**:
- **Intent及IntentFilter介绍**:解释Intent机制和IntentFilter的作用。
- **Activity信息的管理**:讨论PackageManager如何管理Activity信息。
- **Intent 匹配查询分析**:分析Intent匹配过程中如何查询合适的Activity。
- **queryIntentActivities总结**:对Intent查询机制的总结。
### 第5章 深入理解PowerManagerService
- **初识PowerManagerService**:介绍PMS如何管理设备的电源,例如屏幕、唤醒锁等。
- **PMS构造函数分析**:
- **PMS构造函数分析**:详细介绍PowerManagerService的构造过程。
- **init分析**:探讨PMS初始化时的资源准备和配置。
- **systemReady分析**:讨论当系统准备就绪时,PMS如何完成相关设置。
- **BootComplete处理**:解析启动完成后PMS的相关操作。
- **初识PowerManagerService总结**:对PMS功能和工作机制的总结。
- **PMS WakeLock分析**:
- **WakeLock客户端分析**:探讨获取和持有唤醒锁的机制。
- **PMS acquireWakeLock分析**:分析PMS如何处理唤醒锁请求。
- **Power类及LightService类介绍**:介绍与电源管理相关的API和服务。
- **WakeLock总结**:对唤醒锁机制的总结。
- **userActivity及Power按键处理分析**:
- **userActivity分析**:讲解用户活动如何影响设备的电源状态。
- **Power按键处理分析**:分析物理按键对电源管理的影响。
- **BatteryService及BatteryStatsService分析**:
- **BatteryService分析**:探讨电池状态服务的运作方式。
- **BatteryStatsService分析**:详述电池统计服务如何收集和处理电池使用数据。
- **BatteryService及BatteryStatsService总结**:对电池服务功能的总结。
### 第6章 深入理解ActivityManagerService
- **初识ActivityManagerService**:介绍AMS在任务管理和应用进程监控中的关键作用。
- **AMS的 main 函数分析**:
- **ActivityManagerService的main函数分析**:解释AMS如何启动和初始化。
- **AMS的 setSystemProcess分析**:讨论AMS如何设置系统进程。
- **AMS的 installSystemProviders函数分析**:探讨AMS如何安装系统级别的服务提供者。
- **AMS的 systemReady分析**:详述系统准备就绪时,AMS进行的各项工作。
- **初识ActivityManagerService总结**:对AMS职责和工作原理的总结。
- **startActivity分析**:
- **从am说起**:介绍Activity Manager工具命令行工具的使用。
- **AMS的startActivityAndWait函数分析**:详述AMS如何处理启动Activity的请求。
- **startActivityLocked分析**:探讨AMS在内部如何锁定和处理Activity启动。
- **Broadcast和BroadcastReceiver分析**:
- **registerReceiver流程分析**:讲述如何注册和监听广播。
- **sendBroadcast流程分析**:讨论如何发送广播。
- **BROADCAST_INTENT_MSG消息处理函数**:解释系统如何分发和处理广播消息。
- **应用进程处理广播分析**:探讨应用进程如何接收和处理广播。
- **广播处理总结**:对广播机制的总结。
- **startService之按图索骥**:
- **Service知识介绍**:解释服务的概念和使用方法。
- **startService流程图**:通过流程图的形式展示startService的步骤和流程。
- **AMS中的进程管理**:
- **Linux进程管理介绍**:讨论Linux底层进程管理机制。
- **关于Android中的进程管理的介绍**:解析Android进程管理的特有概念和实现。
- **AMS进程管理函数分析**:详细分析AMS中管理进程的函数和机制。
- **AMS进程管理总结**:总结AMS进程管理的工作原理。
- **App的 Crash处理**:
- **应用进程的Crash处理**:介绍AMS如何处理应用崩溃事件。
- **AMS的handleApplicationCrash分析**:探讨AMS在应用崩溃时采取的措施。
- **AppDeathRecipient binderDied分析**:分析AMS如何响应Binder死亡通知。
- **App的Crash处理总结**:对AMS崩溃处理机制的总结。
### 第7章 深入理解ContentProvider
- **MediaProvider的启动及创建**:
- **Context的getContentResolver函数分析**:解释如何通过ContentResolver获得ContentProvider实例。
- **MediaStore.Image.Media的query函数分析**:讨论MediaProvider中query方法的工作流程。
- **MediaProvider的启动及创建总结**:对MediaProvider启动和创建过程的总结。
- **SQLite创建数据库分析**:
- **SQLite及SQLiteDatabase家族**:介绍SQLite数据库和相关API。
- **MediaProvider创建数据库分析**:详述MediaProvider如何创建和管理数据库。
- **SQLiteDatabase创建数据库的分析总结**:总结数据库创建过程中的关键步骤和特性。
- **Cursor 的query函数的实现分析**:
- **提取query关键点**:讲解query方法的核心逻辑和关键参数。
- **MediaProvider 的query分析**:分析MediaProvider中query方法的实现。
- **query关键点分析**:探讨query方法中影响性能和数据处理的关键点。
- **Cursor query实现分析总结**:总结Cursor实现query方法的技术要点。
- **Cursor close函数实现分析**:
- **客户端close的分析**:讲解客户端如何关闭Cursor。
- **服务端close的分析**:探讨服务端处理关闭请求的流程。
- **finalize函数分析**:分析Cursor的finalize方法及其意义。
- **Cursor close函数总结**:对Cursor关闭机制的总结。
- **ContentResolver openAssetFileDescriptor函数分析**:
- **openAssetFileDescriptor之客户端调用分析**:讲解客户端如何调用openAssetFileDescriptor。
- **ContentProvider的 openTypedAssetFile函数分析**:分析ContentProvider中打开文件描述符的方法。
- **跨进程传递文件描述符的探讨**:探讨跨进程通信时文件描述符的传递机制。
- **openAssetFileDescriptor函数分析总结**:对openAssetFileDescriptor方法的总结。
### 第8章 深入理解ContentService和AccountManagerService
- **数据更新通知机制分析**:
- **初识ContentService**:介绍ContentService的作用和它如何管理数据更新通知。
- **ContentResovler 的registerContentObserver分析**:讲解ContentResolver如何注册内容观察者。
- **ContentResolver的 notifyChange分析**:分析通知变化的机制和方法。
- **数据更新通知机制总结和深入探讨**:总结和深入讨论数据更新通知的工作方式。
- **AccountManagerService分析**:
- **初识AccountManagerService**:介绍AccountManagerService在账号管理中的角色和功能。
- **AccountManager addAccount分析**:探讨添加账号的流程和机制。
- **AccountManagerService的分析总结**:对AccountManagerService的总结。
- **数据同步管理SyncManager分析**:
- **初识SyncManager**:讲解SyncManager的基本概念和作用。
- **ContentResolver 的requestSync分析**:分析如何发起数据同步请求。
- **数据同步管理SyncManager分析总结**:总结SyncManager的同步机制。
### 总结
《深入理解Android》卷Ⅱ通过详尽的分析和讨论,带领读者深入了解Android系统的工作机制和服务架构。读者通过本书可以系统地掌握从系统源码搭建、进程间通信机制、系统服务管理、应用程序管理到内容提供服务等Android开发和系统知识的核心内容。
相关推荐






袁慎建@ThoughtWorks
- 粉丝: 176
最新资源
- 打造动态QQ表情控件体验,简易表情组管理和类型切换
- CAD燕秀插件安装问题及解决方法
- 三星6410 MFC MP4解码实例详解
- 单机五子棋游戏:无插件、快速运行、支持无限反悔
- 初学者友好:SSH与MySQL整合项目实践
- ckfinder_java_2.1.zip压缩包下载及使用指南
- .NET框架下的Webkit内核DLL封装与调用
- MSP430控制下的12864液晶显示程序开发指南
- Android平台PHP速查手册 - 随时随地查阅
- HighPoint 2320 磁盘阵列卡Windows 7驱动安装指南
- CKEditor Java版3.6.2下载指南
- Spring框架整合SSH实例教程
- 韩顺平Hibernate课程详细笔记资料
- 《CLR via C# 第四版》深入解析CLR技术
- Linux系统RTL8188 WIFI驱动程序安装指南
- Extjs4 MVC项目实践:初学者快速入门指南
- MooTools 1.1开发文档:快速上手与实践
- SSH2框架搭建实例解析
- 下载最新版CKEditor 3.6.2压缩包
- 酷派手机驱动软件下载:多型号支持
- CuteWebUI无刷新上传组件:Ajax上传技术的新突破
- USB转RS485驱动安装与通信电缆使用指南
- 大一时期纯手打泡泡龙游戏代码分享
- 制作个人表白网站的源码与教程