更新时间:2019-01-04 16:57:11
封面
版权信息
前言
第1章 Android Studio使用指南
1.1 Android Studio的优势
1.2 Android Studio使用入门
1.2.1 Android Studio安装
1.2.2 创建一个Android Studio工程
1.2.3 从Eclipse项目迁移到Android Studio
1.3 Android Studio实用技巧
1.3.1 代码管理
1.3.2 代码编辑技巧
1.3.3 调试技巧
1.4 本章小结
第2章 绘制优化
2.1 Android系统显示原理
2.1.1 绘制原理
2.1.2 刷新机制
2.1.3 卡顿的根本原因
2.2 性能分析工具
2.2.1 卡顿检测工具
2.2.2 TraceView
2.2.3 Systrace UI性能分析
2.3 布局优化
2.3.1 常用布局优化工具
2.3.2 布局优化方法
2.4 避免过度绘制
2.4.1 过度绘制检测工具
2.4.2 如何避免过度绘制
2.4.3 案例:无过度绘制View的实现
2.5 启动优化
2.5.1 应用启动流程
2.5.2 启动耗时监测
2.5.3 启动优化方案
2.6 合理的刷新机制
2.6.1 减少刷新次数
2.6.2 避免后台线程影响
2.6.3 缩小刷新区域
2.7 提升动画性能
2.7.1 帧动画
2.7.2 补间动画
2.7.3 属性动画
2.7.4 硬件加速
2.8 卡顿监控方案与实现
2.8.1 监控原理
2.8.2 代码实现
2.9 本章小结
第3章 内存优化
3.1 Android内存管理机制
3.1.1 Java对象生命周期
3.1.2 内存分配
3.1.3 内存回收机制
3.1.4 GC类型
3.2 优化内存的意义
3.3 内存分析工具
3.3.1 Memory Monitor
3.3.2 Heap Viewer
3.3.3 Allocation Tracker
3.4 避免内存泄漏
3.4.1 内存泄漏定义
3.4.2 使用MAT查找内存泄漏
3.4.3 常见内存泄漏场景
3.4.4 内存泄漏监控
3.5 优化内存空间
3.5.1 对象引用
3.5.2 减少不必要的内存开销
3.5.3 使用最优的数据类型
3.5.4 图片内存优化
3.6 图片管理模块设计与实现
3.6.1 实现异步加载功能
3.6.2 实现三重缓存
3.6.3 开源图片组件
3.7 本章小结
第4章 存储优化
4.1 存储方式
4.1.1 SharedPreferences
4.1.2 文件存储
4.1.3 SQLite(需要扩展)
4.1.4 ContentProvider
4.2 序列化
4.2.1 Serializable与Parcelable
4.2.2 Gson实现JSON的序列化和反序列化
4.2.3 Nano Proto Buffers
4.2.4 FlatBuffers
4.2.5 小结
4.3 SharedPreferences优化
4.4 数据库使用及优化
4.4.1 数据库实现
4.4.2 数据库优化
4.5 本章小结
第5章 稳定性优化
5.1 提高代码质量
5.1.1 代码审查
5.1.2 代码静态扫描工具
5.2 Crash监控
5.2.1 Java层Crash监控
5.2.2 Native层Crash监控
5.2.3 Crash上报机制
5.3 ANR剖析
5.3.1 ANR介绍