高性能Android应用开发 安卓应用开发教程
本书主要关于如何提高Android App的性能以便为用户提供极致的体验,在智能设备广泛应用的今天,这本书对开发人员来说十分有用。本书有助于开发人员更进一步了解Android App性能方面的问题,不断改善App性能,更适应用户需求。

       性能问题在很大程度上决定了用户是否会使用一款App,本书正是Android性能方面的关键性指南。全书共8章,主要从电池、内存、CPU和网络方面讲解了电池管理、工作效率和速度这几个方面的性能优化问题,并介绍了一些有助于确定和定位性能问题所属类型的工具。同时也会探讨开发人员面临的一些主要问题,进而提出一些可行的补救措施。全书旨在通过提高App性能完善App,以便用户可以获得极致体验。

序 xiii

前言 xv

第1章 Android 的性能指标  1

1.1 性能对用户很重要  2

1.1.1 电子商务和性能  2

1.1.2 电子商务之外的影响  3

1.1.3 性能可以节省基础设备  4

1.2 最恶劣的性能影响因素:宕机  4

1.2.1 低性能就像持续的宕机  5

1.2.2 消费者对性能bug 的态度  7

1.2.3 智能手机电池寿命:矿井中的金丝雀  8

1.3 App 性能问题的检测  8

1.3.1 模拟测试  9

1.3.2 真实用户监测  9

1.4 总结  9

第2章 构建Android 设备实验室  10

2.1 你的用户都在使用什么设备  11

2.2 设备特性分布  11

2.2.1 屏幕  11

2.2.2 SDK 版本  12

2.2.3 CPU/ 内存和存储  12

2.3 用户使用的网络  12

2.4 你的设备不是用户的设备  12

2.5 测试  13

2.6 创建设备实验室  14

2.6.1 你想要花很多钱买设备吗  14

2.6.2 我应该购买什么样的设备  15

2.6.3 除了手机之外  17

2.6.4 Android OpenSource Project 设备  17

2.6.5 其他选择  18

2.6.6 其他注意事项  19

2.6.7 我的设备实验室  20

2.7 总结  20

第3章 硬件性能和电池寿命  22

3.1 Android 的硬件特点  22

3.2 少即是多  23

3.3 耗电原因  24

3.3.1 Android 能耗统计文件  24

3.3.2 屏幕  26

3.3.3 无线设备  27

3.3.4 CPU  27

3.3.5 其他传感器  28

3.3.6 休眠  29

3.3.7 WakeLock 和Alarm  29

3.3.8 Doze 模式  30

3.4 基本的电量消耗分析  31

3.4.1 详细的App 电量消耗分析  34

3.4.2 能耗数据和数据流量  36

3.4.3 App 休眠  38

3.5 高级电池监控  38

3.5.1 电能统计  38

3.5.2 BatteryHistorian  42

3.5.3 BatteryHistorian  2.0  51

3.6 JobScheduler  54

3.7 小结  58

第4章 屏幕和UI 性能  59

4.1 UI 性能基准  59

4.2 Android 上的UI 和渲染性能改进  60

4.3 创建视图  61

4.4 资源缩减  74

4.4.1 屏幕的过度绘制  74

4.4.2 检测过度绘制  74

4.4.3 HierarchyViewer 中的过度绘制  77

4.4.4 过度绘制和KitKat(OverdrawAvoidance)  78

4.5 分析卡顿(测量GPU 的渲染性能)  79

4.6 丢帧  83

4.6.1 Systrace  84

4.6.2 SystraceScreen Painting  86

4.6.3 Systrace 和CPU 阻塞渲染  91

4.6.4 Systrace 更新——2015 年Google I/O 开发者大会  93

4.6.5 第三方工具  95

4.7 感知性能  95

4.7.1 进度条:优缺点  96

4.7.2 动画掩盖加载时间  96

4.7.3 即时更新的善意谎言  96

4.7.4 提高感知性能的建议  97

4.8 小结  97

第5章 内存性能  98

5.1 Android 内存:它是如何工作的  98

5.1.1 共享内存与私有内存  98

5.1.2 脏内存与干净内存  99

5.1.3 内存清理(垃圾回收)  99

5.1.4 确定App 使用的内存大小  102

5.1.5 procstats  107

5.1.6 Android 内存警告  111

5.2 Java 中的内存管理/ 泄露  112

5.3 追踪内存泄露的工具  112

5.3.1 Heap Dump  113

5.3.2 AllocationTracker  115

5.3.3 增加一处内存泄露  116

5.3.4 更加深层次的堆解析:MAT和LeakCanary  119

5.3.5 Eclipse 内存分析工具——MAT  119

5.3.6 LeakCanary  125

5.4 小结  128

第6章 CPU 与CPU 性能  129

6.1 检测CPU 占用率  130

6.2 使用Systrace 分析CPU  131

6.3 Traceview(遗留的监视器DDMS 工具)  134

6.4 Traceview(AndroidStudio)  137

6.5 其他优化工具  140

6.6 小结  141

第7章 网络性能  142

7.1 Wi-Fi 与蜂窝无线电  142

7.1.1 Wi-Fi  143

7.1.2 蜂窝  143

7.1.3 RRC 状态机  144

7.2 测试工具  147

7.2.1 Wireshark  148

7.2.2 Fiddler  149

7.2.3 MITMProxy  150

7.2.4 AT&T ARO  151

7.2.5 混合型App 和WebPageTestorg  154

7.3 Android 网络优化  154

7.3.1 文件优化  155

7.3.2 精简文本文件(Souders:精简JavaScript)  156

7.3.3 图片  157

7.3.4 文件缓存  159

7.3.5 文件之外  161

7.3.6 分组连接  162

7.3.7 检测应用的无线电使用情况  163

7.3.8 适时关闭连接  164

7.3.9 定期执行重复的ping 命令  166

7.3.10 网络安全技术的应用(HTTP和HTTPS)  167

7.4 全球移动网络覆盖范围  167

7.4.1 CDN 服务器  168

7.4.2 在慢速网络中测试App  169

7.4.3 仿真慢速网络而不用倾家荡产  169

7.4.4 构建网络感知App  170

7.4.5 计算延迟  173

7.4.6 最后一英里的延迟  174

7.4.7 其他无线电  174

7.4.8 GPS  174

7.4.9 蓝牙  174

7.5 小结  176

第8章 真实用户监测  177

8.1 启用RUM 工具  178

8.2 RUM 分析:示例程序  178

8.3 崩溃  179

8.3.1 分析Crashlytics的崩溃报告  181

8.3.2 使用  186

8.3.3 实时信息  190

8.4 大数据的营救  190

8.5 小结  192

附录 组织性能  193
关于作者  198
封面介绍  198

文件大小:67.1MB
内附PC端和移动端阅读器
高性能Android应用开发 安卓应用开发教程 介绍图片
精通JavaScript JavaScript经典教程

精通JavaScript JavaScript经典教程

¥3.00
黑客攻防技术宝典 浏览器实战篇+iOS实战篇+web实战篇+反病毒篇四册全

黑客攻防技术宝典 浏览器实战篇+iOS实战篇+web实战篇+反病毒篇四册全

¥5.00
全网最全训狗视频教程 人人成为训狗高手

全网最全训狗视频教程 人人成为训狗高手

¥8.00
大卫-豪比逐层布光人像摄影课程国外英语中文字幕视频教程

大卫-豪比逐层布光人像摄影课程国外英语中文字幕视频教程

¥2.00
疯狂Ajax讲义—Prototype+jQuery+DWR+Spring+Hibernate整合开发

疯狂Ajax讲义—Prototype+jQuery+DWR+Spring+Hibernate整合开发

¥3.00
Vue.js开发实战视频教程 含课件和源码

Vue.js开发实战视频教程 含课件和源码

¥8.00
无师自通轮滑视频教程 从入门到精通

无师自通轮滑视频教程 从入门到精通

¥3.00
有意思的计算机书 套装全3册 程序是怎样跑起来的+计算机是怎样跑起来的+网络是怎样连接的

有意思的计算机书 套装全3册 程序是怎样跑起来的+计算机是怎样跑起来的+网络是怎样连接的

¥5.00
960份实用合同书 覆盖全行业 办公室商务人事必备

960份实用合同书 覆盖全行业 办公室商务人事必备

¥8.00
JavaScript Web应用开发 高清电子书PDF版本

JavaScript Web应用开发 高清电子书PDF版本

¥3.00
《编写高质量代码:Web前端开发修炼之道》

《编写高质量代码:Web前端开发修炼之道》

¥3.00
《CSS Web设计高级教程》(第2版)清华大学出版社

《CSS Web设计高级教程》(第2版)清华大学出版社

¥3.00
JavaScript高级程序设计 第3三版 js语言教材 JavaScript权威指南

JavaScript高级程序设计 第3三版 js语言教材 JavaScript权威指南

¥3.00
《数据科学实战》大数据时代的实战宝典教程书籍 数据算法

《数据科学实战》大数据时代的实战宝典教程书籍 数据算法

¥3.00
最全面买车视频攻略教程 买车不在踩坑 买车防骗

最全面买车视频攻略教程 买车不在踩坑 买车防骗

¥5.00
Head First HTML与CSS(第2版) WEB开发设计参考 网站制作书籍html书籍

Head First HTML与CSS(第2版) WEB开发设计参考 网站制作书籍html书籍

¥3.00
《Android编程权威指南》第3版

《Android编程权威指南》第3版

¥3.00
¥3.00
立即下载加入收藏