¥ 24.09 4.1折 ¥ 59 九五品
仅1件
作者罗彧成 著
出版社机械工业出版社
出版时间2017-02
版次1
装帧平装
货号A4
上书时间2024-11-19
本书旨在用腾讯的亿级用户App的开发经验帮助你打造高质量的Android 应用。
从WinCE时代开始,作者从事移动应用开发10余年,现担任腾讯音乐Android平台的开发总监,主导并参于过多个用户规模上亿的Android应用开发工作,对Android应用开发有深刻的认识,特别在架构设计、性能优化等方面有丰富的实战经验。
本书从用户体验的角度,将性能问题总结为4类:
(1)快:流畅的操作体验
(2)稳:稳定
(3)省:省电、省流量
(4)小:安装包要尽可能小
导致出现这4类问题的原因可能是卡顿、内存使用不合理、代码质量差、代码逻辑不优秀、安装包过大等。本书从绘制(UI)、内存、存储、稳定性、耗电以及安装包6个方面深入讲解了性能优化具体涉及的技术以及优化方案,同时讲解了多种性能优化工具的使用。此外,还提供了典型的案例,帮助读者理解Android的运行机制和原理,掌握Android性能优化的思路和有效方法。
罗彧成,腾讯音乐Android开发总监,从事移动应用开发工作10余年,在Android、Linux、WinCE等平台上有丰富的开发经验。
对Android应用开发有深刻的认识,特别在架构设计、性能优化等方面有丰富的实战经验,主导并参于过多个用户规模上亿的Android应用开发工作。同时在车载网络、家庭网络协议方面也有丰富的开发经验。
曾在多个有影响力技术峰会发表过主题演讲。
前 言
第1章 Android Studio使用指南 1
1.1 Android Studio的优势 1
1.2 Android Studio使用入门 2
1.2.1 Android Studio安装 2
1.2.2 创建一个Android Studio工程 3
1.2.3 从Eclipse项目迁移到Android Studio 5
1.3 Android Studio实用技巧 7
1.3.1 代码管理 7
1.3.2 代码编辑技巧 8
1.3.3 调试技巧 10
1.4 本章小结 11
第2章 绘制优化 12
2.1 Android系统显示原理 13
2.1.1 绘制原理 13
2.1.2 刷新机制 16
2.1.3 卡顿的根本原因 20
2.2 性能分析工具 21
2.2.1 卡顿检测工具 22
2.2.2 TraceView 23
2.2.3 Systrace UI性能分析 26
2.3 布局优化 29
2.3.1 常用布局优化工具 30
2.3.2 布局优化方法 34
2.4 避免过度绘制 43
2.4.1 过度绘制检测工具 44
2.4.2 如何避免过度绘制 44
2.4.3 案例:无过度绘制View的实现 45
2.5 启动优化 49
2.5.1 应用启动流程 49
2.5.2 启动耗时监测 52
2.5.3 启动优化方案 56
2.6 合理的刷新机制 58
2.6.1 减少刷新次数 58
2.6.2 避免后台线程影响 59
2.6.3 缩小刷新区域 59
2.7 提升动画性能 60
2.7.1 帧动画 60
2.7.2 补间动画 60
2.7.3 属性动画 62
2.7.4 硬件加速 63
2.8 卡顿监控方案与实现 66
2.8.1 监控原理 67
2.8.2 代码实现 68
2.9 本章小结 79
第3章 内存优化 80
3.1 Android内存管理机制 81
3.1.1 Java对象生命周期 81
3.1.2 内存分配 82
3.1.3 内存回收机制 84
3.1.4 GC类型 86
3.2 优化内存的意义 87
3.3 内存分析工具 90
3.3.1 Memory Monitor 90
3.3.2 Heap Viewer 91
3.3.3 Allocation Tracker 94
3.4 避免内存泄漏 96
3.4.1 内存泄漏定义 97
3.4.2 使用MAT查找内存泄漏 97
3.4.3 常见内存泄漏场景 103
3.4.4 内存泄漏监控 106
3.5 优化内存空间 109
3.5.1 对象引用 109
3.5.2 减少不必要的内存开销 110
3.5.3 使用最优的数据类型 112
3.5.4 图片内存优化 117
3.6 图片管理模块设计与实现 120
3.6.1 实现异步加载功能 121
3.6.2 实现三重缓存 130
3.6.3 开源图片组件 140
3.7 本章小结 142
第4章 存储优化 144
4.1 存储方式 144
4.1.1 SharedPreferences 145
4.1.2 文件存储 145
4.1.3 SQLite(需要扩展) 146
4.1.4 ContentProvider 147
4.2 序列化 147
4.2.1 Serializable与Parcelable 148
4.2.2 Gson实现JSON的序列化和反序列化 148
4.2.3 Nano Proto Buffers 149
4.2.4 FlatBuffers 149
4.2.5 小结 150
4.3 SharedPreferences优化 150
4.4 数据库使用及优化 151
4.4.1 数据库实现 152
4.4.2 数据库优化 157
4.5 本章小结 161
第5章 稳定性优化 162
5.1 提高代码质量 162
5.1.1 代码审查 163
5.1.2 代码静态扫描工具 166
5.2 Crash监控 168
5.2.1 Java层Crash监控 168
5.2.2 Native层Crash监控 171
5.2.3 Crash上报机制 173
5.3 ANR剖析 173
5.3.1 ANR介绍 173
5.3.2 ANR分析 174
5.3.3 ANR监控 176
5.4 提高后台进程存活率 178
5.4.1 应用进程优先级 178
5.4.2 利用SyncAdapter提高进程优先级 180
5.5 本章小结 183
第6章 耗电优化 184
6.1 耗电检测工具 184
6.2 三大模块省电优化 187
6.2.1 显示 187
6.2.2 网络 188
6.2.3 CPU 189
6.3 应用常用优化方案 191
6.3.1 计算优化 191
6.3.2 避免WakeLock使用不当 192
6.3.3 使用Job Scheduler 193
6.4 Doze模式 197
6.4.1 Doze模式介绍 197
6.4.2 Doze模式应用策略 198
6.4.3 测试Doze模式应用工作状态 199
6.5 本章小结 199
第7章 安装包大小优化 200
7.1 应用装包的构成 200
7.2 减少安装包大小的常用方案 203
7.2.1 代码混淆 203
7.2.2 资源优化 204
7.2.3 其他优化 206
7.3 本章小结 207
结束语 208
— 没有更多了 —
以下为对购买帮助不大的评价