课程简介
Android App开发时的若干性能优化经验,基本覆盖了Android App性能优化的方方面面。
本课程在讲解Android App性能优化技术的同时,还涉及了很多Android底层技术和优秀的性能调优工具
目标收益
学员通过本次课程的学习,能够对App进行性能优化,提高App流畅度以及卡顿问题。
培训对象
本课程对于千万级用户的App产品和小量的App产品都适用,尤其是目前存在性能问题对Android App。
课程大纲
抽丝剥茧看性能——Android性能问题概述 |
1. Android渲染原理 2. Android性能问题分类 3. Android性能优化指标 |
好借好还,再借不难——Android内存泄漏 |
4. 什么是内存泄漏? 5. 对象的四种引用类型 6. 内存泄漏侦测工具LeakCanary 7. 场景1:静态变量引用Activity对象 8. 场景2:静态View 9. 场景3:内部类和匿名类 10. 场景4:Handler 11. 场景5:Threads和TimerTask 12. 场景6:监听器 13. 场景7:静态集合对象引起的泄漏 14. 场景8:资源对象未关闭 15. 场景9:使用对象池避免频繁创建对象 16. 场景10:Back键退出引起的泄漏 |
最不愿看到的弹出框——ANR问题 |
1. ANR发生原因 2. 使用StrictMode规避ANR |
压死骆驼的最后一根稻草——OOM问题 |
1. OOM原理 2. 使用MAT检测内存问题 3. OOM规避 |
感受如丝般润滑——Android流畅度问题 |
1. 16ms性能 2. 过度绘制 3. GPU和CPU绘制 4. 内存抖动 5. GPU呈现模式分析 6. 慎用异常 7. 卡顿监控工具:BlockCanary 8. TraceView和SysTrace |
编程中的艺术品——Android布局的性能问题 |
1. include 2. merge 3. ViewStub 4. CompoundDrawable 5. 使用HierarchyView查看布局层次 6. 使用Dump UI Hierarchy for UI Automator查看布局层次 7. 使用Lint静态检查布局 |
手机发烫的罪魁祸首——Android耗电问题 |
1. BroadcastReceiver 2. 数据传输 3. 位置服务 4. AlarmManager 5. 瞌睡模式 |
课堂练习 |
1. 使用工具排查公司App的内存问题 2. 使用工具排查公司App的ANR 3. 使用工具排查公司App的内存泄漏 |
抽丝剥茧看性能——Android性能问题概述 1. Android渲染原理 2. Android性能问题分类 3. Android性能优化指标 |
好借好还,再借不难——Android内存泄漏 4. 什么是内存泄漏? 5. 对象的四种引用类型 6. 内存泄漏侦测工具LeakCanary 7. 场景1:静态变量引用Activity对象 8. 场景2:静态View 9. 场景3:内部类和匿名类 10. 场景4:Handler 11. 场景5:Threads和TimerTask 12. 场景6:监听器 13. 场景7:静态集合对象引起的泄漏 14. 场景8:资源对象未关闭 15. 场景9:使用对象池避免频繁创建对象 16. 场景10:Back键退出引起的泄漏 |
最不愿看到的弹出框——ANR问题 1. ANR发生原因 2. 使用StrictMode规避ANR |
压死骆驼的最后一根稻草——OOM问题 1. OOM原理 2. 使用MAT检测内存问题 3. OOM规避 |
感受如丝般润滑——Android流畅度问题 1. 16ms性能 2. 过度绘制 3. GPU和CPU绘制 4. 内存抖动 5. GPU呈现模式分析 6. 慎用异常 7. 卡顿监控工具:BlockCanary 8. TraceView和SysTrace |
编程中的艺术品——Android布局的性能问题 1. include 2. merge 3. ViewStub 4. CompoundDrawable 5. 使用HierarchyView查看布局层次 6. 使用Dump UI Hierarchy for UI Automator查看布局层次 7. 使用Lint静态检查布局 |
手机发烫的罪魁祸首——Android耗电问题 1. BroadcastReceiver 2. 数据传输 3. 位置服务 4. AlarmManager 5. 瞌睡模式 |
课堂练习 1. 使用工具排查公司App的内存问题 2. 使用工具排查公司App的ANR 3. 使用工具排查公司App的内存泄漏 |