如何解析adb shell dumpsys gfxinfo com.ss.android.article.news framestats命令返回的结果信息,要求能够提取其中的Profile data in ms,Janky frames等信息
时间: 2024-03-05 11:53:50 浏览: 160
adb常用命令共2页.pdf.zip
adb shell dumpsys gfxinfo命令用于获取 Android 应用程序的渲染性能信息,其中包括每帧的时间、绘制命令数、GPU 处理时间等信息。而命令返回的大量信息中,Profile data in ms和Janky frames是我们最关注的两个指标,具体解析方法如下:
1. Profile data in ms
Profile data in ms 表示每一帧的耗时情况,包括以下几个指标:
- Total: 每帧的总时间
- Input Handling: 输入处理时间
- Animation: 动画处理时间
- Layout: 布局处理时间
- Draw: 绘制处理时间
- Sync: 同步处理时间
- Command Issue: 命令下发时间
要提取 Profile data in ms 信息,可以使用以下命令:
```
adb shell dumpsys gfxinfo com.ss.android.article.news framestats | sed -n '1,/View hierarchy:/d;p' | grep -Eo '[0-9]+\.[0-9]+ ms'
```
其中,`sed -n '1,/View hierarchy:/d;p'` 用于过滤掉 View hierarchy 之前的无用信息,`grep -Eo '[0-9]+\.[0-9]+ ms'` 用于提取每一行中的浮点数和单位 ms。
2. Janky frames
Janky frames 表示每秒钟出现的卡顿帧数,即每秒钟帧率低于 60 帧的帧数。要提取 Janky frames 信息,可以使用以下命令:
```
adb shell dumpsys gfxinfo com.ss.android.article.news framestats | sed -n '1,/View hierarchy:/d;p' | grep -Eo 'Janky frames: [0-9]+ \([0-9]+\.[0-9]+%\)'
```
其中,`sed -n '1,/View hierarchy:/d;p'` 和上面相同,`grep -Eo 'Janky frames: [0-9]+ \([0-9]+\.[0-9]+%\)'` 用于提取 Janky frames 信息。
阅读全文