当前位置:首页 > 工业技术
高性能Android应用开发 从性能方面提升App
高性能Android应用开发 从性能方面提升App

高性能Android应用开发 从性能方面提升AppPDF电子书下载

工业技术

  • 电子书积分:9 积分如何计算积分?
  • 作 者:(美)DOUGSILLARS著;王若兰,周丹红,夏恩龙,陈文超,李欣欣译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2016
  • ISBN:9787115435705
  • 页数:200 页
图书介绍:本书将重点介绍电池管理、工作效率和速度这几个方面的Android性能优化问题,同时也会探讨开发人员面临的一些主要问题,还会介绍一些能帮助我们确定和定位性能问题所属类型的工具,并将围绕确定的问题讨论一些可行的补救措施。 本书适合所有的Android开发者,不论性能方面的技术带头人、独立开发者、开发团队还是测试人员,都将会从本书讨论的各类性能监测工具和技术中获得帮助。
《高性能Android应用开发 从性能方面提升App》目录

第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 Open Source 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 Battery Historian 42

3.5.3 Battery Historian 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 Hierarchy Viewer中的过度绘制 77

4.4.4 过度绘制和KitKat (Overdraw Avoidance) 78

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

4.6 丢帧 83

4.6.1 Systrace 84

4.6.2 Systrace Screen 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 Allocation Tracker 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 (Android Studio) 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和WebPageTest.org 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

返回顶部