这是我参加青训营的第32天,今天我复习并整理了青训营课程中的性能优化工具有关的课程笔记。
1.为什么要做性能优化
Android发展至今,各项基础设施非常完善的情况下,用户体验越来越受到重视,这关乎一个线上应用的业务数据持续增长的基础,以及用户口碑的问题。
性能优化的三个目标:
- 快:最快显示效率、最快网络速率、最快UI响应
- 稳:最佳用户体验,减少强打断
- 省:最低存储、最低功耗、最低流量消耗、最低计算资源
接下来不得不提到一个定义,那就是什么是流畅,我们看看Google 的定义:
界面呈现是指从应用生成帧并将其显示在屏幕上的动作。要确保用户能够流畅地与应用互动,应用呈现每帧的时间不应超过 16ms,以达到每秒 60 帧的呈现速度。
资源优化可以从两方面来调度:
最大化资源调度
- 第一个方向将一些有限资源尽量向最影响体验的方向靠拢,首先要满足快,我们需要在网络、渲染等领域提供更多的资源。
- 第二个方向,探寻更多的资源供给,首先要满足多,深度剖析系统资源使用,需要从系统层榨取更多的可用资源,也需要从用户敏感角度榨取更多资源,最终实现最大化资源调度。
最小化资源使用
- 需要对持续性的指标影响降到最低,首先要满足省,我们对功耗、存储、流量等指标在一些用户敏感度大于实际获得的体验的环境下,保障核心功能的体验。本质的原则就是保证业务基本面的前提下,通过降级或者优化等手段,将占用的资源做到最小。
2.最佳工具选型
首先介绍性能监控工具的gpu呈现模式,这会以色块的形式呈现内容: