失效链接处理 |
Android应用性能优化最佳实践 罗彧成 PDF 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/11335534108.html
相关截图: 资料简介: 本书旨在用腾讯的亿级用户App的开发经验帮助你打造高质量的Android 应用。 从WinCE时代开始,作者从事移动应用开发10余年,现担任腾讯音乐Android平台的开发总监,主导并参于过多个用户规模上亿的Android应用开发工作,对Android应用开发有深刻的认识,特别在架构设计、性能优化等方面有丰富的实战经验。 本书从用户体验的角度,将性能问题总结为4类: (1)快:流畅的操作体验 (2)稳:稳定 (3)省:省电、省流量 (4)小:安装包要尽可能小 导致出现这4类问题的原因可能是卡顿、内存使用不合理、代码质量差、代码逻辑不优秀、安装包过大等。本书从绘制(UI)、内存、存储、稳定性、耗电以及安装包6个方面深入讲解了性能优化具体涉及的技术以及优化方案,同时讲解了多种性能优化工具的使用。此外,还提供了典型的案例,帮助读者理解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 |