首页>参考读物>计算机科学与技术>软件与程序设计

深入理解Android:卷III
作者 : 张大伟 著 邓凡平 审校
丛书名 : 移动开发
出版日期 : 2015-07-31
ISBN : 978-7-111-50736-9
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 556
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书是“深入Android系列”对Framework层进行分析的最后一卷本书在内容的组织思路和写作方式上秉承了前两卷的风格。
全书一共8章,从应用的角度对Android的底层机制进行了剖析。第一章先讲解了学习Android源码的必要性,以及编译Andriod源代码的方法;其次介绍了Android平台的系统架构,让读者对Android有一种宏观的认识。第2章专注于Android的设备挂载,对MountService进行了深入的分析;第3章和第4章专注于分析Android的多媒体功能,分别对Android的和AudioService和输入系统进行了深入分析;第5章对WindowManagerService进行了深入分析,这是要深入了解Android用户界面机制必须掌握的;第6章和第7章对通知栏、状态栏和墙纸功能的实现原理做了深入的分析;第8章则对UiMode进行了深入的讲解。

图书特色

经典畅销书系“深入理解Android”系列Framework卷完结篇,数十万Android开发工程师翘首以盼
从源代码层面全面、详细剖析了Android 框架UI系统的实现原理和工作机制,以及优秀代码的设计思想,填补市场空白
要想充分理解并用好Android系统,没有捷径,从它的源代码入手是最好的办法。早在2011年,我们就洞察到了广大Android开发者的这一需求,于是我们与国内知名的Android技术专家邓凡平先生一起规划了这套“深入理解Android”丛书。从一开始,我们就对这套书有系统的规划(详见本书的推荐序),对整个Android系统做了细粒度的划分,涵盖Android系统的每一个模块和细节。目前,这套书已经出版5本,在市场上引起了强烈的反响,几乎成为深入、系统了解Android工作原理的必读之书。
本书是该系列Framework卷的第III卷,分析的主要对象是Android系统的UI,这应该是目前该领域最为系统和深入的资料。

张大伟

资深Android系统开发工程师,现就职于索尼移动。从2011年开始从事Android开发,专注于Android系统源代码的研究、定制与维护工作,对Android的架构设计与运行原理有着深入的认识与实践经验,其中对UI相关模块、多媒体系统尤为擅长。曾主持了Android多窗口、多任务以及单手操作等系统定制的开发工作。此外对于其他开发平台如.NET亦有相当的经验。

内容简介:
本书是Android经典畅销书系(对Android系统源代码的分析最为系统和细致)“深入理解Android”系列Framework卷的第III卷,从源代码的角度,对Android系统的Audio和UI两大功能的相关模块的实现原理和工作机制做了系统且详细的分析,填补了市场的空白。

本书在逻辑上分为4个部分:
Part 01(第1~2章):这是本书的基础部分,首先介绍了Android源码环境的搭建、编译和调试;然后讲解了Android进程间通信与任务调度的工具Binder与MessageQueue。这两项基础工作是深入研究Android前必须做的功课。
Part 02(第3章):详细分析了AudioService服务的实现,包括音量管理、音频外设管理、AudioFocus机制的实现等内容。
Part 03(第4~6章):这是本书的核心内容之一,详细分析了Android UI的通用实现,依次剖析了WindowManagerService、Android输入系统、Android控件系统的工作原理。
Part 04(第7~8章):主要分析了SystemUI和Android壁纸相关服务的实现,包括StatusBarManagerService与NotificationManagerService两个系统服务,以及WallpaperManagerService系统服务、动态壁纸与静态壁纸的工作原理等内容。
除此之外,在对海量的Android源代码进行分析的过程中,本书尽可能地对其中的精妙之处进行了分析和解读,目的是希望帮助读者领悟其中的优秀设计思想和方法。

图书前言

本书的主要内容及特色
本书是“深入理解Android”系列的第三本,也是完结篇。按照“深入理解Android”系列图书的路线图,本书所关注的重点是Android中有关用户交互的Framework的知识。总体来说,本书所涵盖的内容分为两个部分:
第一部分是对构成Android用户交互基础的WindowManagerService、输入系统以及控件系统的介绍。
第二部分是以StatusBarManagerService、NotificationManagerService以及Wallpaper-ManagerService为例,对Android在第一部分内容基础之上所实现的UI相关的服务进行探讨。
具体内容如下:
第1章介绍进行Android分析的一些准备工作,包括如何获取与编译代码,使用IDE进行代码的阅读及调试等。
第2章,根据邓凡平的建议,由《深入理解Android:卷II》第2章内容升级而来,将Android升级到 4.2.2版本,并增加了与AIDL相关的内容。Binder与MessageQueue是Android进程间通信与任务调度的重要工具。因此,进行Android的深入研究之前理解这两个工具的工作原理十分重要。
第3章主要介绍与AudioService服务相关的内容,包括音量控制、AudioFocus以及音量控制面板等内容。
第4章介绍WindowManagerService的工作原理,其中涵盖与窗口的创建、布局及动画相关的知识。
第5章介绍Android输入系统的工作原理,主要探讨输入事件的监听、读取、翻译、封装以及派发循环等内容。
第6章介绍Android控件系统的工作原理,包括控件系统的测量、布局、绘制、动画以及输入事件的派发。
第7章主要介绍与SystemUI相关的内容,其中包括StatusBarManagerService与NotificationManagerService两个系统服务,以及与状态栏和导航栏有关的知识。
第8章介绍与Android壁纸相关的内容,包括WallpaperManagerService系统服务、动态壁纸与静态壁纸的工作原理。另外还介绍WindowManagerService对壁纸窗口的一些特殊处理。
其中第1章和第2章是全书的基础。第3章的内容相对独立,主要介绍与用户交互直接相关的音频方面的知识。而第4~6章是本书的重点内容,介绍Android UI的通用实现。在深入理解这三章的知识之后,读者可以通过借鉴第7章和第8章所介绍的SystemUI与壁纸的架构来提高Android与用户进行交互的深度定制能力。另外,Android源代码作为一个优秀的开源项目,大到架构的设计,小到某段代码的实现,都包含值得我们细细品味与吸收的设计思想,并且可以应用于自己所设计的代码上。因此,本书在代码分析的过程中尽可能地给出Android采用某种特定实现的原因或对其优秀的设计思路进行提取,希望读者能够知其然更知其所以然,进而能够在代码研究的过程中跳出代码的具体实现来体会其设计思想,而这正是本书根本目的所在。
读者对象
Android应用开发者。
通过本书可以理解SDK中与用户交互相关的API或工具的工作原理,而拥有这部分知识有助于应用开发者设计出更健壮、更有效率,而且更加细腻的代码实现。
Android系统开发工程师。
Android系统开发工程师将是本书所面向的最主要的读者群。同“深入理解Android”系列的其他书籍一样,本书将为这些读者提供其最感兴趣的系统实现方面的内容。
对Android系统的运行原理感兴趣的读者。
Android系统源代码中所体现的设计思想并不仅仅局限于Android,它对Android以外的开发工作同样极具借鉴意义。
如何阅读本书
本书所讨论的Android版本号为4.2.2,读者可以通过本书第1章所介绍的方法获取或在线阅读此版本的源代码。因为版本差异可能会使得某些源文件与类定义的位置发生变化,读者可以通过IDE集成的代码搜索功能进行查找。截至本书结稿之日,Android的最新版本为L,即5.0。在这个版本中,与输入系统相关的代码从frameworks/base/services/input文件夹移动到frameworks/native/services/inputflinger中,但本书所介绍的内容在这个版本中仍然适用。
读者需要注意,自第4章起,后一章的部分内容会以上一章为基础,尤其是第4~6章。虽说更加关注某一部分的读者可以直接阅读相关章节,但是笔者建议在阅读过程中至少先完成第4章有关窗口管理与布局内容的学习,因为这部分知识是后续内容的基础中的基础。
本书沿用了“深入理解Android”系列图书的代码引用风格,即在每章的开篇给出所有引用代码的完整路径,并在引用某一段代码之前指明这段代码来自哪个文件、哪个类的哪个方法(或函数),并以注释的方式对代码中的知识点进行介绍。如下所示:
[WindowManagerService.java-->WindowManagerService.addWindow()]
// 普通的单行注释
/* 多行
  注释 */
// ① 粗体+数字编号表示了代码中需要读者留意的关键点
另外,作为“深入理解Android”系列图书的一员,本书的内容与卷I、卷II有一定的联系,例如卷I的Surface系统、卷II的ActivityManagerService等在本书都会有所提及。读者可以将其作为本书的补充资料。
勘误和支持
由于本书涉及的内容及代码量巨大而且复杂,加之笔者的水平限制,书中难免会有一些不准确甚至错误的地方,还望各位读者不吝批评指正。另外,Android仍处在快速发展的过程中,卷III的成书也绝不是笔者对Android系统深入研究的一个句号。因此,倘若读者有关于本书的任何问题或建议,都可以与笔者进行讨论。
致谢
首先要感谢机械工业出版社华章分社的杨福川以及本书的编辑姜影,拙稿得以付梓离不开他们耐心的支持与细致的校正,在此向他们致以最诚挚的感谢与敬意!还要感谢邓凡平在本书编写过程中给予的指导与建议,更要感谢他一直以来给予我的帮助与信任,能够为“深入理解Android”系列图书贡献一份力量真是我莫大的荣幸!
感谢我的妻子郭晓丽与我的家人。在我写书的过程中忽略了对他们的陪伴,而他们却给予了我一如既往的理解与支持。
还要感谢我在写作本书时所任职的中科创达与索尼移动通信两家公司的领导与同事,有幸与这样优秀的团队一起完成一个个富有挑战而又激动人心的工作让我由衷地感到开心,而他们给予我的信任与鼓励是我得以进步的最好动力。
还要感谢我的师长与朋友对我的关心与帮助,祝福他们!
最应当感谢的是关注本书的各位读者。倘若本书能够为各位的学习、工作尽些绵薄之力,这将是我最大的荣幸,而各位的意见、建议甚至批评则会是我努力的方向。

上架指导

计算机\程序设计

封底文字

要想充分理解并用好Android系统,没有捷径,从它的源代码入手是最好的办法。早在2011年,我们就洞察到了广大Android开发者的这一需求,于是我们与国内知名的Android技术专家邓凡平先生一起规划了这套“深入理解Android”丛书。从一开始,我们就对这套书有系统的规划(详见本书的推荐序),对整个Android系统做了细粒度的划分,涵盖Android系统的每一个模块和细节。目前,这套书已经出版5本,在市场上引起了强烈的反响,几乎成为深入、系统了解Android工作原理的必读之书。
本书是该系列Framework卷的第III卷,分析的主要对象是Android系统的UI,这应该是目前该领域最为系统和深入的资料。
说明:加上阅读路线图,同《深入Android应用开发》

作者简介

张大伟 著 邓凡平 审校:暂无简介

推荐序

回顾
今天是一个值得高兴的日子。历经两年多的艰苦奋斗,张大伟同学的这本著作,同时也是“深入理解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,那也只不过是换了一个“马甲”罢了。
展望
我在《深入理解Android:卷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,读者如若扎实地掌握并理解了其中的内容,那么以后再研究Android 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年夏天,我和大伟被派遣到上海高通公司。当时我刚完成了卷II的撰写,同时也在思考很多读者提出的一个问题,即什么时候能详细分析一下Android Framework UI部分。古语云“书如其人”,对于我这样一个对“颜值”不是很讲究的人来说,写这本书肯定不是最合适的。因为我觉得这边书的作者需要耐心、细心,同时还需要一定审美观。在我认识的技术能力较强的兄弟们中,大伟无疑是最适合撰写本书的人选。
当然,对于一个从未写过书籍的人而言,这样的重任最初还是让大伟觉得紧张,感觉没有信心。所以,我和大伟一起参与出版合同签署事宜,让他觉得自己不是孤身作战。另外,在一些技术难点上,我会编写一些小例子,让大伟去完善,并以这些例子为出发点来分析Framework的实现。最后,大伟凭借自己的天分和努力,很快就从一个跟随者变成了这本书的主导者和唯一作者。
在本书的审稿过程中,我很欣慰地发现这本书细节深入、知识全面,是一本诚意之作。在此,我个人非常感谢大伟的努力,这本书了却了我多年的一桩心愿。
我曾经很羡慕那些有战友之情的士兵们。在和平年代的今天,我觉得我和大伟、福川、杨青平等作者、编辑都曾为了一个共同目标一起努力过,奋斗过,我们之间的感情应该能够媲美战友之情吧。

邓凡平

图书目录

推荐序
前 言
第1章 开发环境部署1
1.1获取Android源代码1
1.2Android的编译3
1.3在IDE中导入Android源代码4
1.3.1将Android源代码导入Eclipse4
1.3.2将Android源代码导入SourceInsight5
1.4调试Android源代码6
1.4.1使用Eclipse调试Android Java源代码6
1.4.2使用gdb调试Android C/C++源代码8
1.5本章小结9
第2章深入理解Java Binder和MessageQueue10
2.1概述11
2.2Java层中的Binder分析11
2.2.1Binder架构总览11
2.2.2初始化Java层Binder框架13
2.2.3窥一斑,可见全豹乎16
2.2.4理解AIDL25
2.2.5Java层Binder架构总结28
2.3心系两界的MessageQueue28
2.3.1MessageQueue的创建29
2.3.2提取消息29
2.3.3nativePollOnce函数分析32
2.3.4MessageQueue总结42
2.4本章小结44
第3章 深入理解AudioService45
3.1概述46
3.2音量管理47
3.2.1音量键的处理流程47
3.2.2通用的音量设置函数setStreamVolume()61
3.2.3静音控制63
3.2.4音量控制小结67
3.3音频外设的管理68
3.3.1 WiredAccessoryObserver 设备状态的监控68
3.3.2AudioService的外设状态管理73
3.3.3音频外设管理小结78
3.4AudioFocus机制的实现78
3.4.1AudioFocus最简单的例子79
3.4.2AudioFocus实现原理简介81
3.4.3申请AudioFocus82
3.4.4释放AudioFocus86
3.4.5AudioFocus小结87
3.5AudioService的其他功能88
3.6本章小结89
第4章 深入理解WindowManager-Service90
4.1初识WindowManagerService91
4.1.1一个从命令行启动的动画窗口91
4.1.2WMS的构成99
4.1.3初识WMS的小结103
4.2WMS的窗口管理结构104
4.2.1理解WindowToken107
4.2.2理解WindowState111
4.2.3理解DisplayContent112
4.3理解窗口的显示次序112
4.3.1主序、子序和窗口类型112
4.3.2通过主序与子序确定窗口的次序114
4.3.3更新显示次序到Surface119
4.3.4关于显示次序的小结119
4.4窗口的布局119
4.4.1从relayoutWindow()开始120
4.4.2布局操作的外围代码分析124
4.4.3初探performLayoutAndPlace-SurfacesLockedInner()127
4.4.4布局的前期处理128
4.4.5布局DisplayContent130
4.4.6布局的最终阶段150
4.5WMS的动画系统150
4.5.1Android动画原理简介151
4.5.2WMS的动画系统框架155
4.5.3WindowAnimator分析156
4.5.4深入理解窗口动画160
4.5.5交替运行的布局系统与动画系统173
4.5.6动画系统总结174
4.6本章小结174
第5章 深入理解Android输入系统176
5.1初识Android输入系统177
5.1.1getevent与sendevent工具178
5.1.2Android输入系统简介179
5.1.3IMS的构成181
5.2原始事件的读取与加工185
5.2.1基础知识:INotify与Epoll186
5.2.2 InputReader的总体流程189
5.2.3 深入理解EventHub191
5.2.4 深入理解InputReader205
5.2.5原始事件的读取与加工总结225
5.3输入事件的派发225
5.3.1通用事件派发流程226
5.3.2按键事件的派发237
5.3.3DispatcherPolicy与InputFilter247
5.3.4输入事件的派发总结250
5.4输入事件的发送、接收与反馈250
5.4.1深入理解InputChannel251
5.4.2连接InputDispatcher和窗口252
5.4.3事件的发送260
5.4.4事件的接收263
5.4.5事件的反馈与发送循环264
5.4.6输入事件的发送、接收与反馈总结267
5.5关于输入系统的其他重要话题267
5.5.1输入事件ANR的产生267
5.5.2 焦点窗口的确定270
5.5.3以软件方式模拟用户操作273
5.6本章小结273
第6章 深入理解控件系统275
6.1 初识Android的控件系统276
6.1.1 另一种创建窗口的方法277
6.1.2 控件系统的组成278
6.2 深入理解WindowManager279
6.2.1 WindowManager的创建与体系结构279
6.2.2 通过WindowManagerGlobal添加窗口282
6.2.3 更新窗口的布局284
6.2.4 删除窗口285
6.2.5 WindowManager的总结285
6.3 深入理解ViewRootImpl286
6.3.1 ViewRootImpl的创建及其重要的成员286
6.3.2 控件系统的心跳:performTraversals()290
6.3.3 ViewRootImpl总结317
6.4 深入理解控件树的绘制317
6.4.1 理解Canvas317
6.4.2 View.invalidate()与脏区域320
6.4.3 开始绘制321
6.4.4 软件绘制的原理323
6.4.5 硬件加速绘制的原理334
6.4.6 使用绘图缓存346
6.4.7 控件动画356
6.4.8 绘制控件树的总结360
6.5 深入理解输入事件的派发361
6.5.1 触摸模式361
6.5.2 控件焦点363
6.5.3 输入事件派发的综述376
6.5.4 按键事件的派发381
6.5.5 触摸事件的派发388
6.5.6 输入事件派发的总结404
6.6 Activity与控件系统405
6.6.1 理解PhoneWindow405
6.6.2 Activity窗口的创建与显示414
6.7 本章小结416
第7章 深入理解SystemUI418
7.1 初识SystemUI419
7.1.1 SystemUIService的启动420
7.1.2 状态栏与导航栏的创建422
7.1.3 理解IStatusBarService425
7.1.4 SystemUI的体系结构427
7.2 深入理解状态栏428
7.2.1 状态栏窗口的创建与控件树结构429
7.2.2 通知信息的管理与显示434
7.2.3 系统状态图标区的管理与显示448
7.2.4 状态栏总结452
7.3 深入理解导航栏452
7.3.1 导航栏的创建453
7.3.2 虚拟按键的工作原理459
7.3.3 SearchPanel462
7.3.4 关于导航栏的其他话题465
7.3.5 导航栏总结471
7.4 禁用状态栏与导航栏的功能472
7.4.1 如何禁用状态栏与导航栏的功能472
7.4.2 StatusBarManagerService对禁用标记的维护473
7.4.3 状态栏与导航栏对禁用标记的响应474
7.5 理解SystemUIVisibility475
7.5.1 SystemUIVisibility在系统中的漫游过程476
7.5.2 SystemUIVisibility发挥作用482
7.5.3 SystemUIVisibility总结494
7.6 本章小结495
第8章 深入理解Android壁纸496
8.1 初识Android壁纸497
8.2深入理解动态壁纸498
8.2.1启动动态壁纸的方法498
8.2.2壁纸服务的启动原理498
8.2.3 理解UpdateSurface()方法510
8.2.4 壁纸的销毁515
8.2.5 理解Engine的回调516
8.3 深入理解静态壁纸—ImageWallpaper519
8.3.1 获取用作静态壁纸的位图519
8.3.2 静态壁纸位图的设置522
8.3.3 连接静态壁纸的设置与获取—WallpaperObserver524
8.4 WMS对壁纸窗口的特殊处理526
8.4.1 壁纸窗口Z序的确定527
8.4.2 壁纸窗口的可见性533
8.4.3 壁纸窗口的动画535
8.4.4 壁纸窗口总结538
8.5 本章小结539

教学资源推荐
作者: [美] 凯·霍斯特曼(Cay Horstmann) 著
作者: [美] 本贾尼?斯特劳斯特鲁普 (Bjarne Stroustrup)著
作者: 周纯杰 何顶新 周凯波 彭刚 张惕远 编著
作者: [美]梁勇(Y. Daniel Liang) 著
参考读物推荐
作者: 贾志刚 著
作者: (美)Michael Moncur
作者: 方腾飞 魏鹏 程晓明 著