WinScope web用来跟踪分析WindowManager或SurfaceFlinger在window转换期间和转换后的状态,跟踪记录会被写入 /data/misc/wmtrace/wm_trace.pb
和 /data/misc/wmtrace/layers_trace.pb
,同时还会包含在错误报告中。
一、下载winscope.html
curl 'https://android.googlesource.com/platform/prebuilts/misc/+/master/common/winscope/winscope.html?format=TEXT' | base64 -d > winscope.html
二、 跟踪WindowManager
- 启用跟踪:
adb shell cmd window tracing start
- 停用跟踪:
adb shell cmd window tracing stop
- 获取跟踪文件:
adb pull /data/misc/wmtrace/wm_trace.pb wm_trace.pb
三、跟踪SurfaceFlinger
- 启用跟踪:
adb shell su root service call SurfaceFlinger 1025 i32 1
- 停用跟踪:
adb shell su root service call SurfaceFlinger 1025 i32 0
- 获取跟踪文件:
adb pull /data/misc/wmtrace/layers_trace.pb layers_trace.pb
四、浏览器打开WinScope.html,Open files加载想要的pb文件
参考:
Android 图形架构 - Android社区 - https://www.androidos.net.cn/
跟踪窗口转换_android wm_trace.pb-CSDN博客