发表于2024-12-15
深入剖析 Android新特性 pdf epub mobi txt 电子书 下载
商品名称: 深入剖析 Android新特性 | 出版社: 电子工业出版社 | 出版时间:2018-05-01 |
作者:张波 | 译者: | 开本: 16开 |
定价: 79.00 | 页数: | 印次: 1 |
ISBN号:9787121339332 | 商品类型:图书 | 版次: 1 |
“新”和“旧”是相对的,本书会介绍Android系统5.0至8.0的新增特性。
在这些特性中,有的是Android系统针对旧版本存在问题的改进,例如,针对功耗问题改进的Project Volta和Doze模式,针对权限问题的Runtime Permission;有的是对系统功能的增强,例如,多窗口模式;有的是应对未来行业趋势的发展,例如,对于VR的支持。
Android作为一个跨越了多种设备的软件平台,由于各家厂商对于设备的支持速度不一,在市场上的碎片化现象很严重。在Android 7.0、8.0推出的时候,很多用户可能还在使用4.4甚至更早的版本。而从Android的新版本推出,到*终真正普及,需要一个较长的过渡时期。
这个现象对开发来说既有好处也有坏处。好处是开发者有足够多的时间为新版本的功能和特性做准备,坏处是开发者在开发应用时需要兼顾太多的版本。
本书希望能给开发者们对近几年Android的新特性做一个梳理。随着时间的推移,随着Android新版本的逐步普及,这些内容是开发者在*近几年正好需要的。
另外,这不是一本仅仅告诉读者Android SDK中的API如何使用的书。在本书主要分析这些特性的内部实现上,通过解析AOSP的源码,让读者不仅知其然,也知其所以然。
本书对*近几个版本(5.0 ~ 8.0)的主要新增功能进行整理和解析,本书的重点不仅仅是讲解这些新增功能特性的外部行为,而是在结合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 Tre
深入剖析 Android新特性 pdf epub mobi txt 电子书 下载