美国时间 2013 年 10 月 31 日, Google 正式发布了全新版本的移动操作系统 Android 4.4 KitKat 。据 google官方介绍,Android 4.4 降低了硬件的需求,提高了程序运行效率。距离 4.4 发布已经过去3个月了,不少朋友也已经体验到了 4.4 所带来的快感,大家可以通过刷入三方ROM(比如CM/Omni/Slim等)体验Android 4.4。但从目前来看,基于MTK平台的设备,几乎还没有运行Android 4.4 系统的,OEM厂商拿到系统之后会做许多定制,比如MTK就比高通的定制更多,这也就是为什么国内许多厂商直接拿到MTK的方案就可以出货的原因,当然这也造成了铺货时间更慢。
因工作原因,这里就以MTK平台Android 4.4为例(后文例子代码使用MTK平台 Android 4.4 代码,但基于各方面原因只标注关键代码,以及调用时序图为主),整理并记录 Android 4.4 Phone 的工作流程。虽然MTK对于Android的源码定制修改较多,但整体结构还是可以与原生进行对比的。
我们知道通话功能(Telephony)是手机最基本,也是最重要的功能,因此 Google对于这块的改动历来是最少的。在经过了数次迭代之后,我们在 4.4 上发现 Google 对 Phone 模块进行了较大的改动。从图1可以大致看到相关的改动: