新書推薦:
《
世界前沿技术发展报告2024
》
售價:HK$
193.2
《
可转债——新手理财的极简工具
》
售價:HK$
66.7
《
新加坡教育:神话与现实
》
售價:HK$
98.9
《
“口袋中的世界史”第一辑·冷战中的危机事件
》
售價:HK$
299.0
《
绝美的奥伦堡蕾丝披肩编织
》
售價:HK$
181.7
《
狂飙年代:18世纪俄国的新文化和旧文化(第二卷)
》
售價:HK$
177.0
《
万有引力书系 纳粹亿万富翁 德国财富家族的黑暗历史
》
售價:HK$
112.7
《
中国常见植物野外识别手册:青海册
》
售價:HK$
78.2
|
編輯推薦: |
本书主要关于如何提高Android App的性能以便为用户提供极致的体验,在智能设备广泛应用的今天,这本书对开发人员来说十分有用。本书有助于开发人员更进一步了解Android App性能方面的问题,不断改善App性能,更适应用户需求。
|
內容簡介: |
性能问题在很大程度上决定了用户是否会使用一款App,本书正是Android性能方面的关键性指南。全书共8章,主要从电池、内存、CPU和网络方面讲解了电池管理、工作效率和速度这几个方面的性能优化问题,并介绍了一些有助于确定和定位性能问题所属类型的工具。同时也会探讨开发人员面临的一些主要问题,进而提出一些可行的补救措施。全书旨在通过提高App性能完善App,以便用户可以获得极致体验。
|
關於作者: |
Doug Sillars是AT&T开发者计划中的性能推广领导者。他帮助了成千上万的移动开发人员将性能的杰出实践应用到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 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 CPU27
3.3.5 其他传感器28
3.3.6 休眠29
3.3.7 WakeLock 和Alarm29
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 Historian42
3.5.3 Battery Historian2.051
3.6 JobScheduler54
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 Systrace84
4.6.2 Systrace Screen Painting86
4.6.3 Systrace 和CPU 阻塞渲染91
4.6.4 Systrace 更新2015 年Google IO 开发者大会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 procstats107
5.1.6 Android 内存警告111
5.2 Java 中的内存管理 泄露112
5.3 追踪内存泄露的工具112
5.3.1 Heap Dump113
5.3.2 Allocation Tracker115
5.3.3 增加一处内存泄露116
5.3.4 更加深层次的堆解析:MAT 和LeakCanary119
5.3.5 Eclipse 内存分析工具MAT119
5.3.6 LeakCanary125
5.4 小结128
第6章 CPU 与CPU 性能129
6.1 检测CPU 占用率130
6.2 使用Systrace 分析CPU131
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-Fi143
7.1.2 蜂窝143
7.1.3 RRC 状态机144
7.2 测试工具147
7.2.1 Wireshark148
7.2.2 Fiddler149
7.2.3 MITMProxy150
7.2.4 AT&T ARO151
7.2.5 混合型App 和WebPageTest org154
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 在慢速网络中测试App169
7.4.3 仿真慢速网络而不用倾家荡产169
7.4.4 构建网络感知App170
7.4.5 计算延迟173
7.4.6 最后一英里的延迟174
7.4.7 其他无线电174
7.4.8 GPS174
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
|
|