7月13号
初略看了下:
1 init没有太大变化,从init.rc可以看出规则未变,但init.rc出现了一些新的设置,看来更依赖kernel的一些信息了
2 app_process未有太大变化,即zygote没有变化
3 SystemServer变化很大,增加了几个奇怪的service,而且有些service的启动开始受到系统属性的控制了,例如
audioService受到"system_init.startaudioservice“控制
3.1 增加昨天提到的SchedulePolicyService,用于控制媒体相关进程调度策略的调整。注意是调度策略,而不是优先级。
3.2 增加了一个NB哄哄的DreamManagerService,作用是ScreenSaver,及屏保功能。AOSP版本默认启动的是
com.google.android.deskclock/com.android.deskclock.Screensaver服务。
3.3 增加SerialService,可支持对串口的设备进行操作。
3.4 新增CommonTimeManagementService,说明是manages the configuration of the native Common Time service
3.5 新增CertBlacklister,provides a simple mechanism for updating the platform blacklists for SSL certificate public keys and
serial numbers。SSL的黑名单
3.6 新增UpdateLockService:提供升级锁,Advisory wakelock-like mechanism by which processes that should not be interrupted
for OTA/update purposes can so advise the OS
3.7 增加NsdService,Network Service Discovery Service 网络服务搜索service
3.8 增加LockSettingsService,和锁屏界面中的输入密码,手势等安全功能有关。可以保存每个user的相关锁屏信息(Android终于向多用户
迈出了坚实的步骤。anyway,PackageManagerService的UserManager的变化基本没有,可能多用户支持的功能还是没做完?)
3.9 EntropyService改名成EntropyMixer了。实在不知道,这个玩意有什么好改名字的??
3.10 增加InputManagerService,以前此兄的前辈是在WindowManagerService中的,现在独立出来了。
4 Input系统变化
4.1 独立出来InputManagerService
4.2 大体流程没有变,主要成员还在,如InputHub,InputManager,增加了底层检测到输入设备后,往java层通知的机制。如果你懂4.0.4
input系统的话,这块没有问题。
5 新增接口说明:
5.1 增加了MediaRouter类。可由APP选择声音从哪个设备出(比如有USB音箱,耳机等)。以前这部分工作是系统根据写死的策略来做的
现在可由APP来设了。此功能必将搞死一堆做audiopolicy的兄弟,尤其是做APP的不按规则做事的时候(比如瞎设声音路由,因为系统
目前还不能完全支持任意设备的任意声音路由。原因是和硬件有点关系)
5.2 增加MediaCodec类,支持从native层直接拿到编解码数据。妈的。从这一条可以很明显看出,java在android平台上越来越只是语言工具
了,想要做个好东西,专业人才的地位激凸!啥意思?打个比方,会说英语的人难道就很牛叉吗?英语只是沟通的工具,会搞编解码、
会搞图形图像算法,会搞网络开发才牛叉。所以,在这个比方中,会说英语算个屁。希望兄弟们抓紧专业知识的学习。
其他和再细节得没看了。如果你对android很熟的话,2个小时内也能像我一样对整个变化做个增量分析了。