书籍详情

深入剖析Android新特性

深入剖析Android新特性

作者:强波 著

出版社:电子工业出版社

出版时间:2018-05-01

ISBN:9787121339332

定价:¥79.00

购买这本书可以去
内容简介
  Android系统发布于2008年,到2018年已经有十年的时间。经过十年的发展,Android已经成为全球大操作系统。目前,Android拥有几十亿用户,几百万的应用程序,更有无数的开发者。在过去的十年里,Android一直没有停止更新的步伐,最近几年,Android以每年一个大版本的速度向前演进。并且,在一年内还会有若干的小版本发布。很自然,开发者需要不断地了解这些新增的功能和特性。 《深入剖析Android新特性》对最近几个版本(5.0~8.0)的主要新增功能进行了整理和解析,《深入剖析Android新特性》的重点不仅仅是讲解这些新增功能特性的外部行为,而是在结合AOSP的源码基础上,解析这些功能特性的内部实现。任何已有的功能都是固定的,随着行业的发展,Android系统在未来可能加入的功能是不确定的,只有掌握了阅读和分析AOSP源码的能力,才能应对不确定的变化,并具备今后能够自行研究Android系统的能力。
作者简介
  强波,江苏南京人,现居住在浙江杭州。就职于阿里巴巴集团-OS事业部-核心系统部门。在阿里,我的花名叫做”未悔“,花名取自《离骚》:”亦余心之所善兮,虽九死其尤未悔“。多年智能操作系统开发经验,热爱钻研技术,也热爱分享技术。现在负责AliOS运行时环境的研究与开发,参与过手机、汽车、平板、TV等多种智能设备的研发工作。个人博客:http://qiangbo.space。
目录
第1章 预备知识 1
1.1 Android系统架构 1
1.2 关于AOSP 3
1.3 理解Android Binder机制 3
1.3.1 Binder机制简介 3
1.3.2 整体架构 4
1.3.3 驱动层 7
1.3.4 Binder Framework C++部分 26
1.3.5 Binder Framework Java部分 54
1.3.6 参考资料与推荐读物 70
第2章 Android系统中的进程管理 72
2.1 关于进程 72
2.2 系统进程与应用进程 73
2.2.1 init进程与init语言 75
2.2.2 Zygote进程 81
2.2.3 system_server进程 84
2.3 应用进程的创建 87
2.3.1 关于应用组件 87
2.3.2 进程与线程 88
2.3.3 ActivityManagerService 89
2.3.4 Activity与进程创建 92
2.3.5 Service与进程创建 94
2.3.6 ContentProvider与进程创建 96
2.3.7 BroadcastReceiver与进程创建 97
2.3.8 参考资料与推荐读物 99
2.4 进程的优先级管理 100
2.4.1 优先级的依据 100
2.4.2 优先级的基础 102
2.4.3 优先级的更新 105
2.4.4 优先级的算法 108
2.4.5 优先级的生效 119
2.4.6 结束语 119
2.4.7 参考资料与推荐读物 120
2.5 进程与内存的回收 120
2.5.1 开发者API 121
2.5.2 虚拟机的垃圾回收 122
2.5.3 开发者的内存回收 122
2.5.4 Linux OOM Killer 123
2.5.5 LowMemoryKiller 125
2.5.6 进程的死亡处理 126
2.5.7 参考资料与推荐读物 127
2.6 结束语 127
第3章 Android系统上的虚拟机 129
3.1 Java语言与Java虚拟机 130
3.1.1 Java语言 130
3.1.2 Java虚拟机 130
3.1.3 Java虚拟机实现架构 130
3.1.4 类加载器(Class loader) 132
3.1.5 垃圾回收 132
3.1.6 结束语 135
3.1.7 参考资料与推荐读物 135
3.2 Dalvik虚拟机 135
3.2.1 Stack-based VS. Register-based 136
3.2.2 Dalvik Executable(dex)文件 137
3.2.3 Dalvik指令 139
3.2.4 Dalvik启动过程 144
3.2.5 程序的执行:解释与编译 153
3.2.6 Dalvik上的垃圾回收 156
3.2.7 参考资料与推荐读物 159
3.3 Android Runtime(ART) 159
3.3.1 ART VS.Dalvik 159
3.3.2 OAT文件格式 162
3.3.3 boot.oat与boot.art 165
3.3.4 Dalvik到ART的切换 166
3.3.5 ART虚拟机的启动过程 169
3.3.6 内存分配 173
3.3.7 垃圾回收 178
3.3.8 JIT的回归 182
3.3.9 ART虚拟机的演进与配置 185
3.3.10 参考资料与推荐读物 186
第4章 用户界面改进 187
4.1 多窗口功能 187
4.1.1 概述 188
4.1.2 开发者相关 189
4.1.3 内部实现 191
4.1.4 参考资料与推荐读物 205
4.2 App Shortcuts 206
4.2.1 开发者API 206
4.2.2 内部实现 209
第5章 系统界面改进 215
5.1 SystemUI整体介绍 215
5.1.1 SystemUI简介 215
5.1.2 SystemUI的初始化 216
5.1.3 System Bar的初始化 221
5.1.4 参考资料与推荐读物 224
5.2 System Bar 224
5.3 Notification 234
5.3.1 开发者API 234
5.3.2 通知栏与通知窗口 240
5.3.3 Notification从发送到显示 243
5.4 Quick Settings 256
5.4.1 开发者API 256
5.4.2 系统实现 260
5.4.3 参考资料与推荐读物 265
第6章 功耗的改进 266
6.1 Project Volta 266
6.1.1 JobScheduler API 267
6.1.2 电量消耗分析工具 277
6.1.3 在虚拟机层面减少电池消耗 279
6.1.4 省电模式 280
6.1.5 结束语 281
6.1.6 参考资料与推荐读物 281
6.2 Doze模式与App StandBy 282
6.2.1 概述 282
6.2.2 了解Doze模式 282
6.2.3 了解App StandBy 284
6.2.4 对其他用例的支持 284
6.2.5 在Doze模式和App StandBy下进行测试 285
6.2.6 Doze模式的实现 287
6.2.7 App StandBy的实现 293
6.2.8 参考资料与推荐读物 297
6.3 Android 8.0上的后台限制 297
6.3.1 概览 298
6.3.2 后台服务限制 299
6.3.3 广播限制 300
6.3.4 系统实现 301
6.3.5 结束语 308
第7章 面向设备管理的改进 310
7.1 多用户的支持 310
7.1.1 术语 311
7.1.2 支持多用户 312
7.1.3 多用户的实现 313
7.1.4 参考资料与推荐读物 333
7.2 设备管理 334
7.2.1 Device Administration API介绍 334
7.2.2 开发设备管理程序 335
7.3 面向企业环境的Android 339
7.3.1 企业环境解决方案 340
7.3.2 受管理资料(Managed Profiles) 340
7.3.3 受管理资料的内部实现 342
7.3.4 参考资料与推荐读物 349
第8章 Android系统安全改进 350
8.1 Android系统安全概览 350
8.2 运行时权限 351
8.2.1 功能介绍 351
8.2.2 新增API 354
8.2.3 参考资料与推荐读物 370
第9章 图形系统改进 371
9.1 整体架构 371
9.1.1 Android图形组件 371
9.1.2 组件 373
9.1.3 Android如何绘制视图 374
9.1.4 关于硬件加速 376
9.1.5 参考资料与推荐读物 377
9.2 图形系统组件 377
9.2.1 Activity与Surface 377
9.2.2 Gralloc 379
9.2.3 BufferQueue 382
9.2.4 Surface 384
9.2.5 参考资料与推荐读物 388
9.3 Project Butter 388
9.3.1 FPS 389
9.3.2 VSYNC 391
9.3.3 Choreographer与VSYNC 392
9.3.4 Triple Buffer 398
9.3.5 参考资料与推荐读物 400
9.4 SurfaceFlinger 400
9.4.1 SurfaceFlinger 介绍 401
9.4.2 Hardware Composer 402
9.4.3 SurfaceFlinger的启动 403
9.4.4 SurfaceFlinger的对外接口 405
9.4.5 VSYNC的传递 407
9.4.6 SurfaceFlinger的事件 409
9.4.7 图层的合成 411
9.4.8 刷新 412
9.4.9 参考资料与推荐读物 413
9.5 Vulkan简介 414
9.5.1 Vulkan组件 414
9.5.2 修改的组件 415
9.5.3 Vulkan API 415
9.5.4 参考资料与推荐读物 415
第10章 系统架构改进 416
10.1 Project Treble整体介绍 417
10.2 HIDL 420
10.2.1 语法介绍 421
10.2.2 HIDL 与 Binder 422
10.3 ConfigStore HAL 423
10.3.1 概述 423
10.3.2 内部实现 424
10.4 Vendor Native Development Kit 426
10.5 Vendor Interface Object 427
10.5.1 概述 427
10.5.2 Manifest 429
10.5.3 内部实现 429
猜您喜欢

读书导航