《深入理解Android 卷III》推荐序

《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块

推荐序

回顾

今天是一个值得高兴的日子。历经两年多的艰苦奋斗,张大伟同学的这本著作,同时也是隶属“深入理解Android”系列三卷中的最后一卷终于完成了。从2011年我和华章公司的杨福川编辑一起开创这一迄今为止国内Android技术书籍市场上唯一一套兼具广度和深度的“深入理解Android”系列书籍算起,四个年头已经过去。在这四年中,本套书籍的作者们和出版社的编辑们共同奋斗,成果斐然:

·  2011年9月《深入理解Android 卷I》发布。

·  2012年8月《深入理解Android 卷II》发布。

·  2013年1月,本系列的第一本专题卷《深入理解Android:Telephony原理剖析与最佳实践》发布,作者是杨青平。

·  2014年4月,本系列的第二本专题卷《深入理解Android:Wi-Fi,NFC和GPS卷》发布。

·  2015年,《深入理解Android 卷III》发布,作者即是本书的主人公张大伟。

·  2015年及以后,我们还要发布深入理解Android系列书籍中的WebKit专题卷、自动化测试卷、蓝牙专题卷等。

从技术层面来说,本书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块。虽然在写书的两年中,Android版本已经从4.2进化到M,但“面虽新,神依在”。所以,我可以很负责任地说,对那些掌握了本书精髓的读者而言,即使Android未来升级到了X,那也只不过是换了一个马甲罢了。

展望

我在卷II中曾经详细阐述过“深入理解Android”这一系列的路线图(http://blog.csdn.net/innost/article/details/7648869),这里在展现一下当时的情况。

本套丛书大体分为应用部分、Framework部分、专题部分和内核部分。

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相关服务为主要目标。

Framework部分所包括的这3本书的目的是让读者对整个Android系统有较大广度、一定深度的认识,这有益于读者能构建一个更为完整的Android系统知识结构。应当指出,这3本书不可能覆盖Android Framework中的所有知识点。因此,尚需读者在此基础上,结合不同需求,进行进一步的深入研究。

3)专题部分。旨在帮助读者沿着Android平台中的某一些专业方向,进行深度挖掘,拟规划如下专题:

·  Telephony专题,涵盖SystemServer中相关的通信服务、rild、短信、电话等模块。

·  多媒体专题,涵盖MultiMedia相关的模块,包括Stagefright、OMX等。另外,我们也打算引入开源世界中最流行的一些编解码引擎和播放引擎作为分析对象。

·  浏览器和Webkit专题,该专题难度非常大,但其重要性却不言而喻。

·  Dalvik虚拟机专题,该专题希望对Dalvik进行一番深度研究,涉及面包括Java虚拟机的实现、Android的一些特殊定制等内容。现在来看,Dalvik已经被ART替换,所以这本书的目标就应该是ART虚拟机专题了。

·  Android系统安全专题,该专题的目标是,分析Android系统上提供的安全方面的控制机制。另外,Linux平台上的一些常用安全机制(例如,文件系统加密等)也是本书所要考虑的。这套安全专题我已经在自己的博客[①]上写了部分内容,包括Java Security、设备加密等。

·  UI/UE设计以及心理学专题,:该专题希望能提供一些心理学方面的指导以及具体的UI/UE设计方面的指南以帮助开发人员开发出更美、更体贴和更方便的应用。

专题部分隐含着的一个极为重要的宗旨:即基于Android,而高于Android。换言之,这些书籍虽都以Android为切入点,但我们更希望读者学到的知识、掌握的技术却不局限于Android平台。

4) 内核部分。这部分图书拟以Linux内核为主。虽然这方面的经典教材非常多,但要么是诸如《Linux内核情景分析》之类的鸿篇巨帙,要么是类似《Linux内核设计与实现》,内容过于简洁。另外,现有书籍使用的内核源码都已比较陈旧。为此,我们希望能有一本难度适中、知识面较广、深度适宜的书籍。

今天,正是由于大伟的努力,我们的Framework部分得以完美收官。高兴的同时,我们认为前路依然艰辛。在此,我和福川兄再次诚挚邀请国内外有热情,愿分享、有责任心的兄弟姐妹们来一起继续发扬光大“深入理解Android”这一系列书籍。

还是杨澜的那句话,“原来我只佩服成功的人,现在我更尊敬那些正在努力的人”。让我们一起成为被尊敬的人吧!

轶事

我和大伟相知相识的过程还颇有点意思。

那时我们都在中科创达工作,有一次,我们俩要一起重构一个和音频相关的解码模块。当时我噼噼啪啪把几段和多线程相关的同步代码块改写后,引起了大伟的强烈质疑。在质疑(challenge)和争论(argue)的过程中,我发现大伟思路清晰,技术能力较强,是一个不可多得的好苗子,便有意交往。虽然吵得很激烈,不过最终实践的结果是这次改写还是比较成功的,这使得我赢得了大伟的信任。

交手过后,我们便成了好兄弟。2012年夏天,我和大伟被派遣到上海高通公司OnSite。当时我刚完成了卷II的撰写,同时也在思考很多读者提出的一个问题,即什么时候能详细分析一下AndroidFramework UI部分。古语云“书如其人”,对于我这样一个对颜值不是很讲究的人来说,写这本书肯定不是最合适的。因为我觉得这边书的作者需要耐心、细心、同时还需要一定审美观。在我认识的技术能力较强的兄弟们中,大伟无疑是最适合撰写本书的人选。

当然,对于一个从未写过书籍的人而言,写书这样的重任最初还是让大伟觉得紧张,感觉没有信心。所以,我和大伟一起签的合同,让他觉得自己不是孤身作战。另外,在一些技术难点上,我会编写一些小例子,让大伟去完善,并以这些例子为出发点来分析Framework的实现。最后,大伟凭借自己的的天分和努力,很快就从一个跟随者变成了这本书的主导者和唯一作者。

在本书的审稿过程中,我很欣慰得发现这本书细节深入、知识全面,是一本诚意之作。在此,我个人非常感谢大伟的努力,这本书了却了我多年的一桩心愿。

我曾经很羡慕那些有战友之情的士兵们。在和平年代的今天,我觉得我和大伟,福川,杨青平等作者、编辑都曾为了共同一个目标一起努力过,奋斗过,我们之间的感情应该能够媲美战友之情吧。

邓凡平

2015-7-5


[①] 我的博客地址:blog.csdn.net/innost。

时间: 2024-10-08 12:15:36

《深入理解Android 卷III》推荐序的相关文章

《App后台开发运维和架构实践》推荐序

软件开发工具的成长速度远远超过开发人员的成长速度,这是现实. 每个月,甚至每天,我们都可以见到新的类库.框架.工具.语言.它们或者极大地降低了开发的成本,或者极大地提升了开发的效率. 随之而来的问题就是,如何让开发人员妥善地运用好这些工具? 曾经有好几个做开发的同事跟我说:"写软件谁不会?从网上找些开源的类和项目来改改就是了".目前也确实充斥着这种"改改就是"的工作思维.介绍某个类库和项目如何安装和调用的文章俯拾皆是. 但是每种工具究竟有什么优缺点?适合用来解决什么

《App后台开发运维和架构实践》前言

笔者在2012年从开发电子商务网站转向了开发App后台,当时在一家做社交App的创业公司里工作,笔者和搭档都没有任何从事移动互联网开发的经验,不清楚App后台怎么架构,只能摸着石头过河,那时网络上只有一些零散的资料,当遇到问题时只能不断地摸索和思考,来找到解决问题的方法. 在从事开发App后台接近4年的时间中,笔者参与了两款社交App的开发,现在就职于bmob,从事云后台服务的研发工作,慢慢地对App后台的架构有了一些体会. 从2013年年底开始,笔者把工作笔记发表在CSDN博客专栏"App后端

《App 后台开发运维和架构实践》目录

ps:由于书的目录太长了,各大网店(京东,当当,亚马逊)都显示不完整,所以这里列出目录的完整版. 第1章 App后台入门 16 1.1 App后台的功能 16 1.2 App后台架构 17 1.3 App和App后台的通信 19 1.4 App后台和Web后端的区别 22 1.5 选择服务器 23 1.6 选择编程语言 24 1.7 快速入门新技术 25 1.7.1 思维模式 25 1.7.2 4种快速入门新技术的方法 25 1.8 App是怎样炼成的 26 1.8.1 项目启动阶段 26 1.

App 后台架构设计方案 设计思想与最佳实践

转载请注明出处:http://blog.csdn.net/smartbetter/article/details/53933096 做App做的久了,就想研究一下与之相关的App后台,发现也是蛮有趣的.App后台的两个重要作用就是 远程存储数据 和 消息中转.这里面的知识体系也是相当复杂,做好一个App后台也是需要长期锤炼的.本篇文章从 App 后台架构 的角度介绍.好了,下面进入正题: 说起架构,我们先看一下何为架构,百度百科是这样说的:架构,又名软件架构,是有关软件整体结构与组件的抽象描述,

空格App亿元A轮融资背后:云上多场景技术架构实践与经验

直播视频: (点击图片观看) 幻灯片下载地址:https://oss.aliyuncs.com/yqfiles/382bc642fc0b621a9368138a74d8fd36.pdf 3月16日云栖社区在线实时分享顺利结束,本次由空格APP技术合伙人刘博分享了空格利用阿里云服务在搜索.推荐和数据挖掘业务场景下的探索实践.本次视频直播的整理文章.视频整理完毕,如下内容. 阿里云在空格 图一 空格服务端整体架构 在空格初始创业阶段,人员十分缺乏,但依靠着阿里云,空格两周便实现APP上线.空格服务端

Django开发运维后台(二):建立模型与更新数据

上一篇文章我已经新建了一个SaAdmin的APP,现在开始在这APP下面来code 1.修改setting.py的数据库连接: DATABASES = {     'default': {         'ENGINE':'django.db.backends.mysql',         'NAME': 'QjshAdmin',         'USER': 'root',         'PASSWORD': 'lihuipeng',         'HOST': 'localho

现货!《PHP7实践指南:o2o网站与App后台开发》京东天猫有售

终于发售了,啥也不想说了,喜欢的或需要的就点击 链接 进去购买吧. 另外此书将作为 2017 PHP全球开发者大会 现场活动用书 天猫购书包邮 PHP7实践指南:O2O网站与App后台开发 数据库设计 PHP开发工程 适合作为企业内部培训.培训机构和大专院校的教学参考书 京东购书PHP7实践指南:O2O网站与App后台开发 陈小龙 PHP7语言编程教程书籍 php7 PHP全球开发者大会 2017 PHP 全球开发者大会 -百格活动 作者简介陈小龙,奇虎360软件工程师,是国内较早研究微信开发和

APP后台架构20191205

1.架构,架构与业务紧密相关,是有业务驱动的. 2.APP后台演进原则. App后台的架构是由业务规模驱动而演进的,App后台是为业务服务的,App后台的价值在于能为业务提供其所需要的功能,不应过度设计. 从项目的角度,当App访问量不大时,应该快速搭建App后台,让App尽快上线给用户提供服务,验证商业模式的正确性,同时快速迭代产品. 当App访问量不断上升,这时要在保证快速迭代的前提下,同时兼顾高性能和高可用. 当App访问量达到一定阶段后,增长曲线就会放缓,但业务变得更加复杂,对高性能和高

构建高并发高可用的电商平台架构实践

从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流. 转载请声明出处:http://blog.csdn.net/yangbutao/article/details/12242441 作者:杨步涛 关注分布式架构.大数据.搜索.开源技术 QQ:306591368 技术Blog:http://blog.csdn.net/yangbutao 一. 设计理念 1.      空间换时间 1)      多级缓存,静态化 客户端页面缓存(http header中包

构建高并发高可用的电商平台架构实践 转自网络

从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流. 转载请声明出处: 作者:杨步涛 关注分布式架构.大数据.搜索.开源技术 QQ:306591368 技术Blog:http://blog.csdn.net/yangbutao 一. 设计理念 1.      空间换时间 1)      多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回bo