深入理解Android 卷II
本书是笔者“深入理解Android”系列的第二本,这一本将关注重点放在了Android Framework的Java层。在众多可供分析的知识点中,笔者另辟蹊径,选择了SystemServer中的服务(Service)作为主人公。
SystemServer中的服务可划分为7大类共43项(包括Watchdog在内):
位于第一大类的是Android的核心服务,如ActivityManagerService、WindowManager-Service等。
位于第二大类的是和通信相关的服务,如Wifi的相关服务、Telephone的相关服务。
位于第三大类的是和系统功能相关的服务,如AudioService、MountService、UsbService等。
位于第四大类的是BatteryService、VibratorService等服务。
位于第五大类的是EntropyService、DiskStatsService、Watchdog等相对独立的服务。
位于第六大类的是蓝牙服务。
位于第七大类的是UI方面的服务,如状态栏服务、通知管理服务等。
以上这些服务就是Android Framework Java层的核心。毫不夸张地说,它们也是Android系统的基石。另外,这些服务的内容远非一本书所能囊括。作为Android Java层Framework分析的先头部队,本书涵盖了以下内容:
第1章,介绍了阅读本书需要做的一些准备工作,包括Android 4.0源码的下载和编译、Eclipse开发环境的搭建,以及Android系统进程(system_process)的调试等。
第2章,介绍了Java Binder和MessageQueue的实现。
第3章,介绍了SystemServer,并分析了图1中第五类包含的服务的工作原理。这些服务包括EntropyService、DropBoxManagerService、DiskStatsService、DeviceStorageMonitorService、SamplingProfilerService和ClipboardService。
第4章,分析了PackageManagerService,该服务负责Android系统中的Package信息查询和APK安装、卸载、更新等方面的工作。
第5章,讲解了PowerManagerService,它是Android中电源管理的核心服务。本章对其中的WakeLock、Power按键处理、BatteryStatsService和BatteryService都做了一番较为深入的分析。
第6章,以ActivityManagerService为分析重点,该服务是Android的核心服务。本章对ActivityManagerService的启动、Activity的创建和启动、BroadcastReceiver的工作原理、Android中的进程管理等内容进行了较为深入的研究。
第7章,对ContentProvider的创建和启动、SQLite相关知识、Cursor query和close的实现等进行了较为深入的分析。
第8章,以ContentService和AccountManagerService为分析对象,介绍了数据更新通知机制的实现、账户管理和数据同步等方面的知识。
图1中的其他服务将会在“深入理解Android”系列的其他书中详细分析。该系列书的规划请见本书最后面的“深入理解Android系列图书路线图”。
本书以直接剖析源码的方式进行讲解,旨在引领读者一步步深入于Android系统中相关模块的内部原理,去理解它们是如何实现、如何工作的。在分析过程中,笔者根据个人研究Android代码的心得,采用了精简流程和逐个击破的方法。同时,笔者还提出了一些难度不大的知识点、相关的补充阅读资料,甚至笔者在实际项目中遇到的开放式问题,留给读者自行研究和探讨。总之,笔者希望读者在阅读完本书后,至少能有以下两个收获:
能从“基于Android并高于Android”的角度来看待和分析Android。
能初步具有大型复杂代码的分析能力。
-
员工福利,企业福利表 - 企业管理表格
员工体检表.doc福利委员会员工互助金申请单.doc员工互助金收据.doc员工工伤医药费申请单.doc员工进修申请表.doc员工进修补助申请表.doc员工... 1101 0 24-07-27 -
Unsplash - 极具美感的无版权图库
Unsplash是由Mikael Cho于2013年创办的一个图片社区,任何人都可以在此分享高分辨率的照片供所有人免费使用(无著作权)。如果你的日常工... 1685 0 24-08-08 -
田间小站 - 高质量英语学习
田间小站是一个值得你每天一看的高质量英语学习网站,它通过多种形式的学习教程和学习资料,帮助你提高英语口语,词汇,写作,阅读。 939 0 21-12-07 -
网站访问量和服务器带宽的选择
通常我们说当一个网站的访问量比较大时,可能会占用网络带宽,造成网络的拥挤,因而对于一些大型网站来说,他们选择的带宽不但要大,而且还以独享带宽为主。而很多站长在选择服务器空间时,往往也会根据网站具体的访问量来选择,那么网站的访问量和带宽有什么样的联系呢,网站的带宽又该如何根据访问量来选择呢,下面我们就详细介绍一下。 695 0 21-04-07 -
PHP读本地文件指定某行内容
小文件直接2行代码解决<?php $a = file('xiaohana.txt'); //读取同目录xiaohana.txt文本 echo $a[5];//输入本文档的第6行内容 ?>如... 875 0 25-04-07 -
Redi系统架构中各个处理模块是干什么的?
Redis 系统架构通过前面的学习,相信你已经掌握了 Redis 的原理、数据类型及访问协议等内容。本课时,我将进一步分析 Redis 的系统架... 877 0 24-05-24 -
高血压中医诊疗规范
风眩指因肝肾阴虚阳亢、风阳上扰,气血逆乱所致。以眩晕,头痛,血压增高,脉弦等为主要表现的眩晕类疾病。本病相当于现代医学的高血压病。... 793 0 25-05-20 -
免费国外谷歌浏览器主题
刚发现个国外网站,可以给谷歌浏览器换主题完全免费的,还能自己制作,真的超良心网址:主题BETA 1146 0 24-12-11
发表我的评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~