网站颜色:

正版现货 深入理解Android卷Ⅲ 张大伟著移动开发深入理解Android丛书有关用户交互的Framework的知识AndroidUI的通用实现机械工业.

  • 产品名称:深入理解Android-卷III
  • 书名:深入理解Android-卷III
  • 作者:张大伟
  • 定价:89.00元
  • 书名:深入理解Android-卷III
  • 是否是套装:否
  • 出版社名称:机械工业出版社

正版 Android系统源代码情景分析 修订版 附盘 安卓5.0应用程序源码设计模式 分析系统源代码 专用驱动系统 应用程序框架电子工业
限时优惠(咨询特价)
第一行代码 Android 第2版 郭霖 第二版Android7.0 Studio软件编程应用开发从入门到精通书籍 安卓APP程序设计教程需java基础
限时优惠(咨询特价).8
React Native入门与实战 React实践指南 App动态更新上架管理 JavaScript网页开发 Ios开发 Android开发原生应用 人民邮电
限时优惠(咨询特价)
正版现货 Android 源码设计模式解析与实战 第2版 Android源代码设计模式教程书籍 编程 Android编程教程 人民邮电
限时优惠(咨询特价)
App Inventor移动应用开发标准教程APP移动应用开发 app制作软件开发教材书籍人民邮电程序设计 移动开发
限时优惠(咨询特价)
正版现货 深入理解Android卷Ⅲ 张大伟著移动开发深入理解Android丛书有关用户交互的Framework的知识AndroidUI的通用实现机械工业
限时优惠(咨询特价)
新书热卖Android开发从入门到精通 项目案例版第一行代码开发实战入门Android Studio软件编程应用设计安卓APP程序设计教程书
限时优惠(咨询特价).9
新书半价 全栈开发套装2本 Android +Java 从入门到精通(项目案例版)java语言程序设计编程思想教程教材开发实战经典面试宝典
限时优惠(咨询特价).8
正版现货 Android从入门到精通(附光盘)Android学习指南Android应用开发环境分析Activity界面表现手法音频视频应用程序开发教程
限时优惠(咨询特价)





书名:深入理解Android 卷Ⅲ

作者:张大伟

出版社:机械工业出版社

出版时间:2015-8

版次:1

印刷时间:2016-7

印次:3

页数:539

开本:16开

装帧:平装

ISBN(咨询特价)

定价:(咨询特价)

经典畅销书系“深入理解Android”系列Framework卷完结篇,数十万Android开发工程师翘首以盼

从源代码层面全面、详细剖析了Android 框架UI系统的实现原理和工作机制,以及优秀代码的设计思想,填补市场空白

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

《深入理解Android(卷3)》是该系列Framework卷的第III卷,分析的主要对象是Android系统的UI,这应该是目前该领域系统和深入的资料。

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

《深入理解Android(卷3)》在逻辑上分为4个部分:

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



推荐序

前 言

dy 章 开发环境部署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.1AudioFocuszui简单的例子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布局的zui终阶段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


热门设计服务