注重体验与质量的电子书资源下载网站
分类于: 计算机基础 其它
简介
Android移动性能实战 豆 8.8分
资源最后更新于 2020-08-19 16:06:29
作者:腾讯SNG专项测试团队
出版社:电子工业出版社
出版日期:2017-01
ISBN:9787121310645
文件格式: pdf
标签: Android 性能 移动性能 移动端测试 软件测试 专项测试 编程 我的书架
简介· · · · · ·
《Android移动性能实战》从资源类性能中的内存、CPU、磁盘、网络、电量和交互类性能中的流畅度、响应时延,多个性能测评和优化的方向出发。每个方向,都会帮助读者深入浅出地学习必须要懂得的原理和概念,区分众多专项工具使用的场景和对应的使用方法;同时提炼总结不同类型的性能缺陷和对应的排查手段、定位方法和解决方案,透过真实的案例,让大家身临其境地快速学习;提供建立专项性能标准的武器与武器的来源,让读者能快速落地项目并产生成效。《Android移动性能实战》的最后,还会帮助读者从全新的角度学习如何应对专项测评要面对的两个基础问题:UI 自动化测试和竞品测试。
《Android移动性能实战》适合从事移动 App 性能测评和优化的工程师阅读,内容有一定的技术深度和广度,建议读者在阅读《Android移动性能实战》的同时扩展阅读其他经典的技术类书籍。
目录
第 1 部分 资源类性能
第 1 章 磁盘:最容易被忽略的性能洼地 2
1.1 原理 2
1.2 工具集 6
1.3 案例 A:手机 QQ 启动有 10 次重复读写 /proc/cpuinfo 16
1.4 案例 B:对于系统 API,只知其一造成重复写入 18
1.5 案例 C:手机 QQ 启动场景下主线程写文件 19
1.6 案例 D:Object Output Stream 4000 多次的写操作 20
1.7 案例 E:手机 QQ“健康中心”使用的 Buffer 太小 22
1.8 案例 F:手机 QQ 解压文件使用的 Buffer 太小 24
1.9 案例 G:刚创建好表,就做大量的查询操作 37
1.10 案例 H:重复打开数据库 39
1.11 案例 I:AUTOINCREMENT 可没有你想的那么简单 40
1.12 案例 J:Bitmap 解码,Google 没有告诉你的方面 45
1.13 专项标准:磁盘 48
第 2 章 内存:性能优化的终结者 50
2.1 原理 50
2.2 工具集 57
2.3 案例 A:内类是有危险的编码方式 103
2.4 案例 B:使用统一界面绘制服务的内存问题 106
2.5 案例 C:结构化消息点击通知产生的内存问题 109
2.6 案例 D:为了不卡,所以可能泄漏 110
2.7 案例 E:登录界面有内存问题吗 114
2.8 案例 F:使用 WifiManager 的内存问题 116
2.9 案例 G:把 WebView 类型泄漏装进垃圾桶进程 120
2.10 案例 H:定时器的内存问题 123
2.11 案例 I:FrameLayout.POSTDELAY 触发的内存问题 126
2.12 案例 J:关于图片解码配色设置的建议 129
2.13 案例 K:图片放错资源目录也会有内存问题 134
2.14 案例 L:寻找多余的内存——重复的头像 139
2.15 案例 M:大家伙要怎么才能进入小车库 144
2.16 Android 要纠正内存世界观了 149
2.17 专项标准:内存 152
第 3 章 网络:性能优化中的不可控因素 154
3.1 原理 154
3.2 工具集 157
3.3 案例 A:WebView 缓存使用中的坑 189
3.4 案例 B:离线包下载失败导致重复下载 196
3.5 案例 C:使用压缩策略优化资源流量 197
3.6 案例 D:手机 QQ 发图速度优化 202
3.7 案例 E:手机 QQ 在弱网下 PTT 重复发送 206
3.8 专项标准:网络 208
第 4 章 CPU:速度与负载的博弈 210
4.1 原理 210
4.2 工具集 211
4.3 案例 A:音乐播放后台的卡顿问题 215
4.4 案例 B:要注意 Android Java 中提供的低效 API 216
4.5 案例 C:用神器 renderscript 来减少你图像处理的 CPU 消耗 218
4.6 专项标准:CPU 220
第 5 章 电池:它只是结果不是原因221
5.1 原理 221
5.2 工具集 226
5.3 案例 A:QQWi-Fi 耗电 243
5.4 案例 B:QQ 数据上报逻辑优化 244
5.5 案例 C:动画没有及时释放 245
5.6 案例 D:间接调用 WakeLock 没有及时释放 246
5.7 案例 E:带兼容性属性的 WakeLock 释放的巨坑 251
5.8 专项标准:电池 253
第 2 部分 交互类性能
第 6 章 原理与工具集 255
6.1 原理 255
6.2 工具集 257
6.2.1 Perfbox 自研工具:Scrolltest 257
6.2.2 Systrace(分析) 260
6.2.3 Trace View(分析) 269
6.2.4 gfxinfo(分析) 271
6.2.5 Intel 的性能测试工具:UxTune(测评 + 分析) 273
6.2.6 Hierarchy Viewer(分析) 274
6.2.7 Slickr(测评 + 分析) 277
6.2.8 图形引擎分析神器——Adreno Profiler 工具使用说明 281
6.2.9 Chrome DevTool 286
第 7 章 流畅度:没有最流畅,只有更流畅 295
7.1 案例 A:红米手机 QQ 上的手机消息列表卡顿问题 295
7.2 案例 B:硬件加速中文字体渲染的坑 298
7.3 案例 C:圆角的前世今生 304
7.4 案例 D:让企鹅更优雅地传递火炬 312
7.5 案例 E:H5 页面卡顿,到底是谁闯的祸 314
7.6 专项标准:流畅度 320
第 8 章 响应时延:别让用户等待 322
8.1 案例 A:Android 应用发生黑屏的场景分析 322
8.2 案例 B:“首次打开聊天窗口”之痛 324
8.3 专项标准:响应时延 328
第 3 部分 其他事项
第 9 章 还应该知道的一些事儿 330
9.1 UI 自动化测试 330
9.2 专项竞品测试攻略 334
9.3 未来的未来 344
第 1 章 磁盘:最容易被忽略的性能洼地 2
1.1 原理 2
1.2 工具集 6
1.3 案例 A:手机 QQ 启动有 10 次重复读写 /proc/cpuinfo 16
1.4 案例 B:对于系统 API,只知其一造成重复写入 18
1.5 案例 C:手机 QQ 启动场景下主线程写文件 19
1.6 案例 D:Object Output Stream 4000 多次的写操作 20
1.7 案例 E:手机 QQ“健康中心”使用的 Buffer 太小 22
1.8 案例 F:手机 QQ 解压文件使用的 Buffer 太小 24
1.9 案例 G:刚创建好表,就做大量的查询操作 37
1.10 案例 H:重复打开数据库 39
1.11 案例 I:AUTOINCREMENT 可没有你想的那么简单 40
1.12 案例 J:Bitmap 解码,Google 没有告诉你的方面 45
1.13 专项标准:磁盘 48
第 2 章 内存:性能优化的终结者 50
2.1 原理 50
2.2 工具集 57
2.3 案例 A:内类是有危险的编码方式 103
2.4 案例 B:使用统一界面绘制服务的内存问题 106
2.5 案例 C:结构化消息点击通知产生的内存问题 109
2.6 案例 D:为了不卡,所以可能泄漏 110
2.7 案例 E:登录界面有内存问题吗 114
2.8 案例 F:使用 WifiManager 的内存问题 116
2.9 案例 G:把 WebView 类型泄漏装进垃圾桶进程 120
2.10 案例 H:定时器的内存问题 123
2.11 案例 I:FrameLayout.POSTDELAY 触发的内存问题 126
2.12 案例 J:关于图片解码配色设置的建议 129
2.13 案例 K:图片放错资源目录也会有内存问题 134
2.14 案例 L:寻找多余的内存——重复的头像 139
2.15 案例 M:大家伙要怎么才能进入小车库 144
2.16 Android 要纠正内存世界观了 149
2.17 专项标准:内存 152
第 3 章 网络:性能优化中的不可控因素 154
3.1 原理 154
3.2 工具集 157
3.3 案例 A:WebView 缓存使用中的坑 189
3.4 案例 B:离线包下载失败导致重复下载 196
3.5 案例 C:使用压缩策略优化资源流量 197
3.6 案例 D:手机 QQ 发图速度优化 202
3.7 案例 E:手机 QQ 在弱网下 PTT 重复发送 206
3.8 专项标准:网络 208
第 4 章 CPU:速度与负载的博弈 210
4.1 原理 210
4.2 工具集 211
4.3 案例 A:音乐播放后台的卡顿问题 215
4.4 案例 B:要注意 Android Java 中提供的低效 API 216
4.5 案例 C:用神器 renderscript 来减少你图像处理的 CPU 消耗 218
4.6 专项标准:CPU 220
第 5 章 电池:它只是结果不是原因221
5.1 原理 221
5.2 工具集 226
5.3 案例 A:QQWi-Fi 耗电 243
5.4 案例 B:QQ 数据上报逻辑优化 244
5.5 案例 C:动画没有及时释放 245
5.6 案例 D:间接调用 WakeLock 没有及时释放 246
5.7 案例 E:带兼容性属性的 WakeLock 释放的巨坑 251
5.8 专项标准:电池 253
第 2 部分 交互类性能
第 6 章 原理与工具集 255
6.1 原理 255
6.2 工具集 257
6.2.1 Perfbox 自研工具:Scrolltest 257
6.2.2 Systrace(分析) 260
6.2.3 Trace View(分析) 269
6.2.4 gfxinfo(分析) 271
6.2.5 Intel 的性能测试工具:UxTune(测评 + 分析) 273
6.2.6 Hierarchy Viewer(分析) 274
6.2.7 Slickr(测评 + 分析) 277
6.2.8 图形引擎分析神器——Adreno Profiler 工具使用说明 281
6.2.9 Chrome DevTool 286
第 7 章 流畅度:没有最流畅,只有更流畅 295
7.1 案例 A:红米手机 QQ 上的手机消息列表卡顿问题 295
7.2 案例 B:硬件加速中文字体渲染的坑 298
7.3 案例 C:圆角的前世今生 304
7.4 案例 D:让企鹅更优雅地传递火炬 312
7.5 案例 E:H5 页面卡顿,到底是谁闯的祸 314
7.6 专项标准:流畅度 320
第 8 章 响应时延:别让用户等待 322
8.1 案例 A:Android 应用发生黑屏的场景分析 322
8.2 案例 B:“首次打开聊天窗口”之痛 324
8.3 专项标准:响应时延 328
第 3 部分 其他事项
第 9 章 还应该知道的一些事儿 330
9.1 UI 自动化测试 330
9.2 专项竞品测试攻略 334
9.3 未来的未来 344