对于性能分析来说,界面卡顿是最常见的问题。首先多打开一些设备中的应用程序,然后分别在播放音乐和暂停音乐的情况下滑动最近任务列表,会发现播放音乐的时候会有明显的掉帧情况,而暂停音乐则不会有这种情况。
一、trace数据分析
对于界面卡顿问题首先想到是就是看一下界面刷新耗时在哪里,这就需要使用到 trace 进行分析了。对于界面渲染的流程我们前面的文章已经分析过了,这里我们直接看 surfaceflinger 进程就可以了。
1、surfaceflinger
播放音乐
可以看到,播放音乐中滑动最近任务列表时,一次滑动过程中,有多次渲染时间超过 16ms,因此也就会出现掉帧的情况。
暂停音乐
音乐暂停时,界面渲染耗时基本都是在 10ms 左右完成,没有掉帧的情况,因此界面也比较流畅。这里我们就来详细的看一下播放音乐时 surfacefl