Android 4.1初识--7月13号
分类: Android开发系列
2012-07-13 10:23
1257人阅读
收藏
举报
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个小时内也能像我一样对整个变化做个增量分析了。
2012-07-12 21:59
1335人阅读
收藏
举报
告诉大家一个不幸的消息,Android 4.1的代码变化非常非常大。忍不住想骂娘了。 绝对坑了我们这帮做FW的人
如果能看懂深入理解android 卷I,可能还能搞4.1。唉,否则直接从4.1入手,难度会超大超大。
下了代码后,立即看了AudioFlinger和SurfaceFlinger的实现。结构变化较大。有2.2的影子,但已经逐渐不多了。文件的位置也发生了重大变化。我不觉得能很容易得从4.0.4移植到4.1。虽然XDA/CM已经成功了。可能是因为还没看HAL层的变化。
SystemServer增加了SchedulingPolicyService,用来调节Media进程的调度优先级。另外,那个该死的ContentProvider和它的悲催客户端的,不会再因为ContentProvider的离世而导致客户端跟着死了,不过你必须使用acquireUnstableProvider来建立与ContentProvider的关系。 看深入理解android卷II吧,里边有详细记录悲催的故事。
深入理解android 卷II样章发布
分类: Android开发系列
2012-07-03 14:34
1217人阅读
收藏
举报
感谢各位读者的耐心期待。今天将发布深入理解android样章,包括:
1 目录
2 第一章:主要讲述如何部署开发环境,如何调试SystemServer
3 第7章:深入理解ContentProvider
欢迎各位提bug,正式书籍,将在7月底上市。
下载地址:
http://download.csdn.net/detail/innost/4408144
http://download.csdn.net/detail/innost/4408140
http://download.csdn.net/detail/innost/4408134
深入理解Android系列书籍的规划路线图
分类: Android开发系列
2012-06-09 21:23
1339人阅读
收藏
举报
深入理解Android系列书籍的规划路线图
一 Roadmap
“深入理解Android“书籍从卷I推出以后就受到广大读者的喜爱。在和读者交流的过程中,笔者被问及最多的一个问题就是,卷II什么时候推出?内容会是什么?实际上,笔者和策划编辑杨福川在系列书籍的编写过程中,也在考虑这个问题:Android涉及到的内容简直是浩如烟海,然而,哪些知识点能帮助读者更快、更好得了解Android,从而一方面帮助大家在深入了解Android系统的基础上,能进行更娴熟的应用开发,另一方面能帮助读者搭建一个兼具Android甚至嵌入式系统地具有相当深度和广度的知识架构?在反复讨论和仔细研究之后,我们试规划了如图1所示的深入理解Android系列书籍的Roadmap:
图1 深入理解Android系列书籍的Roadmap
图1将整个系列分为四个部分:应用部分、框架部分、专题部分和内核部分,这几部分内容规划的大致思路为:
1. 应用部分:这部分拟以Android源码中自带的那些应用程序为分析目标,充分展示Google在自家SDK平台上做应用开发的深厚功力。这些应用包括Contacts、Gallery2、Mms、Browser等,它们的分析难度都不可小觑。通过对这些系出名门的应用的分析,我们希望读者不仅能把握商业级应用程序开发的精髓,而能更精熟地掌握Android应用开发的各种技能。
2. Framework部分。关注Android的框架,拟包括三本书:
-
卷I:以Native层Framework模块为分析对象。知识点包括init、binder、zygote、jni、Message和Handler、audio系统、surface系统、vold、rild和mediascanner。本书已于2011年9月出版,虽然是基于Android 2.2,读者如若扎实地掌握并理解了其中的内容,那么以后再研究2.3或4.0版本中对应的模块,也是轻而易举之事了。
-
卷II和卷III:以Java层Framework模块为分析对象。卷II基于4.0.1版,包括UI相关服务和Window系统之外的一些重要服务,如PackageManagerService、ActivityManagerService、PowerManagerService、ContentService、ContentProvider等。而的卷III将以输入系统、WindowManagerService、UI相关服务为主要目标。相比其他模块来说,UI相关服务可能会随着Android系统升级而发生较大的变化,所以卷III也许会基于Android 5.0。
Framework部分所包括的这3本书的目的是让读者对整个Android系统有较大广度、一定深度的认识,这有益于读者能构建一个更为完整的Android系统知识结构。应当指出,这3本书不可能覆盖Android Framework中的所有知识点。因此,尚需读者在此基础上,结合不同需求,进行进一步的深入研究。
3. 专题部分。旨在帮助读者沿着Android平台中的某一些专业方向,进行深度挖掘,拟规划如下专题:
-
Telephony专题:涵盖SystemServer中相关的通信服务、rild、短信、电话等模块。
-
多媒体专题:涵盖MultiMedia相关的模块,包括Stagefright、OMX等。另外,我们也打算引入开源世界中最流行的一些编解码引擎和播放引擎作为分析对象。
-
浏览器和Webkit专题,该专题难度非常大,但其重要性却不言而喻。
-
Dalvik虚拟机专题:该专题希望对Dalvik进行一番深度研究,涉及面包括Java虚拟机的实现、Android的一些特殊定制等内容。
-
Android系统安全专题:该专题的目标是,分析Android系统上提供的安全方面的控制机制。另外,Linux平台上的一些常用安全机制(例如,文件系统加密等)也是本书所要考虑的。
-
UI/UE设计以及心理学专题:该专题希望能提供一些心理学方面的指导以及具体的UI/UE设计方面的指南以帮助开发人员开发出更美、更体贴和更方便的应用。
专题部分隐含着的一个极为重要的宗旨:即基于Android,而高于Android。换言之,这些书籍虽都以Android为切入点,但我们更希望读者学到的知识、掌握的技术却不局限于Android平台。
4. 内核部分。这部分图书拟以Linux内核为主。虽然这方面的经典教材非常多,但要么是诸如《Linux内核情景分析》之类的鸿篇巨帙,要么是类似《Linux内核设计与实现》,内容过于简洁。另外,现有书籍使用的内核源码都已比较陈旧。为此,我们希望能有一本难度适中、知识面较广、深度适宜的书籍。
另外,除了通过书籍传播知识外,我们也会引入博客等其他渠道来补充Roadmap中未能涉及的知识点。
二 英雄帖
Google为这个世界贡献了Android这一奇葩,那么我们能做些什么呢?我们的理想是,围绕深入理解Android这一系列,编撰出国内最高品质的系列书籍,以飨读者。如果读者是正在前沿拼杀的“攻城狮”,那么我们则甘愿做及时为您运送精神食粮的后勤兵!。
主持人杨澜有一句说得好:“原来我只佩服成功的人,现在我更尊敬那些正在努力的人”。我们也盛情邀请那些已付出艰辛努力或正在努力,有热情、技术,并乐于与人分享的朋友们加入到这个团队里来,共同为“攻城狮”们做些实事!目前卷III、Telephony专题已有合适的后勤兵们正在为之努力奋斗,相信读者不久将来能分享到他们通过奋斗结出的硕果!
请有意的朋友们和我们联系。
邮箱:杨福川 [email protected]、邓凡平 [email protected]