本⽂出⾃于“「2021 友盟+ 移动应⽤性能挑战赛」” 中的参赛作品, 该⽂章表述了作者如何借 助友盟+ U-APM⼯具进⾏了性能优化。
作为⼀款倒计时⽇历 APP, 我们需要对每个⽇期实时显示倒计时并精确到秒。但是我们的 app 在滑动刷新数据时, 会出现卡顿。
卡顿在很⼤程度上取决于设备的 CPU 和其他消耗 CPU 时间的进程。于是我们尝试使⽤了友盟 + U-APM 内存分析对 APP 进⾏分析:
通过观察内存的分布, ⼤部分程序的运⾏都处于可预测的范围内, 我们需要更加细粒度地进⾏测 试。
启动 Android Profiler Tool Window , 打开 CPU Profiler并选择正确的时间线 。连接我们的测试 设备并再次进⾏滑动刷新, 可以看到Profile线程被添加到应⽤进程并消耗了额外的 CPU 时间 。 看看 Logcat:
|
图表上⽅有⼀个视图表示⽤户与应⽤程序的交互。所有⽤户输⼊事件在此处显示为紫⾊圆圈。 可以看到⼀个圆圈, 代表我们为刷新数据⽽执⾏的滑动