前言
为什么写这本书
Android进阶三部曲包括《Android进阶之光》、《Android进阶解密》和《Android进阶指北》,写这本书的原因和前两本书有些关联,主要有以下几点:
(1)我一直想建立一个知识体系,但是《Android进阶之光》和《Android进阶解密》不能形成具有一定规模的知识体系,而本书的出版将会打破这一点,三本书初步形成了知识体系,即Android进阶三部曲知识体系。
(2)目前市面上的关于Android系统源码分析的书大多不是专门为应用开发编写的,而本书中的系统源码分析是专门为应用开发编写的。
(3)目前市面上的关于Android应用综合类进阶的图书很少,2017年有《Android进阶之光》,2019年有《Android进阶解密》,2020年我仍要贡献出自己的力量。
(4)目前市面上的关于Android源码分析类的图书大多基于Android 6.0之前的版本,需要有一本书来对更新版本的系统源码进行分析。
(5)《Android进阶之光》和《Android进阶解密》覆盖的知识点还远远不够,我希望这本书能覆盖更多的知识点,让更多的人受益。
本书内容
本书共分13章,各章内容简介如下。
√第1章介绍系统源码的下载、编译、调试,带领读者走进Android系统源码的世界。
√第2章介绍包管理机制和PMS,PMS是Android应用进阶所需要了解的三大MS(Manage Service,管理服务)之一,三大MS分别为AMS、WMS和PMS。
√第3章介绍输入系统和IMS,IMS是除三大MS之外,应用开发人员所需要掌握的知识。
√第4章介绍IPC机制,为讲解Binder原理进行铺垫。
√第5章介绍Native Binder原理,掌握这一章的内容可以深入理解Java Binder原理。
√第6章介绍Java Binder原理,包括Binder类的注册、JavaBBinder原理、Java Binder架构。
√第7章介绍Groovy基础,为讲解Gradle进行铺垫。
√第8章介绍Gradle核心思想,为讲解Gradle的Android插件进行铺垫。
√第9章结合第7章和第8章的内容,讲解Gradle的Android插件。
√第10章介绍Android Jetpack架构组件,包括Lifecycle、LiveData、ViewModel的使用方法和原理。
√第11章介绍跨平台技术演进。
√第12章介绍Dart基础,为讲解Flutter基础进行铺垫。
√第13章介绍Flutter基础。
本书特色
(1)Android进阶三部曲是目前市面上少有的成知识体系的源码分析类图书。
(2)本书的知识点自成体系并且环环相扣,但每一章节都或多或少与本书或者系列图书的其他章节有所关联。
(3)本书中的Android系统源码分析都是针对应用开发来编写的。
(4)本书是目前市面上少有的介绍Android新技术的图书。
读者对象
作为Android进阶三部曲的第三部,本书的深度要深于《Android进阶之光》,本书适合以下读者阅读。
√有一定基础的Android应用开发工程师。
√对Android系统源码感兴趣的读者。
致谢
感谢本书的责任编辑付睿,她在CSDN博客上发现了我,并积极推动本书的出版进度,使得本书能够及时出版。感谢所有关注我的朋友们,你们的鼓励和认可为我写书及写博客带来了动力。
勘误与互动
本人虽已竭尽全力,但书中难免存在不足之处,欢迎大家向我反馈,我也会在独立博客和CSDN博客中定期发布本书的勘误信息。