内容简介
编辑
《android的设计与实现:卷i》是android应用开发工程师和android系统工程师进阶修炼的必读之作。它由资深android内核专家亲自执笔,从源代码角度,系统、深入、透彻剖析android系统框架层(framework)的设计思想和实现原理,为android应用工程师和系统工程师解决实际工作中的各种难题提供了原理性的指导。为了降低读者的阅读成本,《android的设计与实现:卷i》使用了大量简单的uml类图和序列图来展示类的层次结构和方法的调用流程,使读者能迅速读完《android的设计与实现:卷i》并领会其精髓!
“android的设计与实现”系列丛书主要围绕android系统的四层结构展开,通过源代码来分析各层的设计思想与实现原理,卷i则主要是针对framework(框架层)的。全书共12章,分为六个部分:基础篇(第1~2章)详细讲解了android的体系结构、源代码阅读和调试环境的搭建,以及整个框架的基础;启动篇(第3~4章)深入分析了android启动过程的机制和实现原理,能帮助读者全面理解框架层系统服务的运行基础;binder篇(第5~6章)着重分析了binder在native框架层和java框架层的机制和实现,能让读者深入理解进程间的通信模型;消息通信篇(第7章)重点分析了android的消息驱动和异步处理机制,能让读者深入理解线程间的通信模型;package manager篇(第8~9章)主要讲解了package manager的机制与实现,以及apk的安装方法与过程;activity manager篇(第10~12章)深入阐述了activitymanagerservice的运行机制、应用程序和进程的启动流程,以及进程管理机制。
《android的设计与实现:卷i》适合中高级的android应用开发工程师、android系统开发工程师、android系统架构师,以及负责对android系统进行调试和优化的工程师们阅读。
3前言
编辑
为什么要写《Android的设计与实现:卷I》
Android从2007年问世至今,不仅在各个应用领域发展得如火如荼,其图书市场也是一片“兴旺”,各个层次、各种类型的Android图书的需求都比较旺盛。目前市场上已经有的图书主要分为以下三类:
针对Android SDK API使用的描述
针对Android系统架构各部分的描述
针对Kernel移植的描述
其中鲜有针对Android 四层架构中某一层进行深入挖掘的图书,这让读者有一种只能窥其全貌,却不能独得一隅的遗憾。
框架层是整个Android系统的灵魂,这一层起着承上启下的作用,是理解整个Android的关键,也是解决Android应用层Bug的关键。要开发一款精品手机,就必须深入理解这一层。
国际知名的手机厂商对手机品质有着近乎苛刻的要求,手机必须在严格的测试环境下运行数百小时无问题方可上市销售。这期间出现的稳定性(ANR、Crash、Watchdog)、内存(OOM)、性能等问题都让人十分头痛。这些问题主要来自于应用程序、Framework、Dalvik虚拟机、Linux Kernel、Driver以及Modem,其中相当大一部分问题源自对Framework的错误理解和使用。举例如下:
解决KeyDispatchTimeout类型的ANR,需要熟悉Activity Manager、Input消息处理系统的机制。
解决应用程序IDLE状态时发生的ANR,需要熟悉Activity Manager、Binder的运行机制。
解决框架层的Watchdog问题,需要熟悉Android启动阶段开启的系统服务和Watchdog的运行机制。
解决应用程序的性能问题,同样需要理解框架层的运行和调度机制。
上述问题只是冰山一角,仅仅停留在使用SDK API的层次是不可能解决上述问题的。因此,非常需要一本能深入挖掘框架层的专著。
针对以上问题,编写“Android的设计与实现”系列丛书,对Android核心模块和主要问题进行深入分析。其中卷I的主题是启动和通信,主要分析Android运行环境、Package Manager、Activity Manager、Binder和消息机制等核心模块。卷Ⅱ的主题是资源和UI,主要分析Content Provider、Resource、View System、Window Manager、SurfaceFlinger等核心模块。
读者对象
《Android的设计与实现:卷I》主要分析了Android框架层主要部分的体系结构和实现原理,让读者对Framework有一个清晰的理解,并以此增强解决
1