如何阅读本书
本书分为六大部分:
第一部分为基础篇(第1~2章),简要分析Android的体系结构、开发和调试环境、框架基础。
第二部分为启动篇(第3~4章),着重分析Android启动过程的机制和实现,让读者对框架层系统服务的运行基础有一个全面的理解。
第三部分为Binder篇(第5~6章),着重分析Binder在Native框架层和Java框架层的机制和实现,让读者掌握进程间通信模型。
第四部分为消息通信篇(第7章),着重分析Android的消息驱动和异步处理机制,帮助读者掌握线程间通信模型。
第五部分为Package Manager篇(第8~9章),着重分析Android应用程序的解析和安装流程。
第六部分为Activity Manager篇(第10~12章),着重分析Activity Manager Service的运行机制、应用程序和进程的启动流程、进程管理机制。
此外,本书在分析类的层次结构和方法的调用流程上,分别使用了UML的类图和序列图。为了不增加读者的阅读负担,本书只使用了UML中比较简单的图形。
类图如图1所示。
图 1 类图
图中展示了内部类和外部类的关系、接口和实现类的关系、父类和子类的关系、注释的表示法、类的关联关系和依赖关系。
为了简单鲜明,本书在绘制类图时,会省略部分类图中的方法参数和返回值,读者可参照源码查看方法的具体返回值和参数。
序列图如图2所示。
图 2 序列图
图中表示A调用了B的b方法,在b方法中又调用了B的b1方法,这两次调用都是同步调用,用实心箭头表示;A调用C的c方法,这次调用是异步调用,用箭头表示。