Winscope 是一款 Web 工具,可以让用户在动画和转换期间和之后记录、重放和分析多个系统服务的状态。Winscope 将所有相关的系统服务状态记录在一个跟踪文件中。使用带有跟踪文件的 Winscope 界面,您可以通过重放、单步执行和调试转换来针对每个动画帧检查这些服务的状态(无论是否有屏幕录制)。
支持的轨迹
Winscope 能够收集和直观呈现各种轨迹或系统服务状态序列。您可以根据特定用例配置这些轨迹,从低开销到高详细级别。Winscope 支持以下轨迹:
- EventLog:使用
EventLog
收集系统诊断事件记录。在 Winscope 中,此信息仅用于标识和显示 CUJ 标记。 - IME:跟踪输入法编辑器 (IME) 流水线中的事件,包括 IMS、IMMS 和 IME 客户端。
- 输入:跟踪输入事件流水线的各个部分中的输入事件。
- ProtoLog:从系统服务收集 ProtoLog 消息,以及在客户端进程中运行的系统服务的代码。
- 屏幕录制:收集屏幕录制内容以及轨迹。
- Shell 转换:记录窗口和 activity 转换系统详细信息。
- SurfaceFlinger:收集包含 Surface(图层)相关信息(例如位置、缓冲区和合成)的 SurfaceFlinger 轨迹。
- 事务:跟踪 SurfaceFlinger 使用
SurfaceControl
进行组合时收到的一组原子更改。 - ViewCapture:从支持 ViewCapture 的系统窗口(例如系统界面和启动器)捕获所有视图的一系列属性。
- 窗口管理器:跟踪包含与窗口相关详细信息的 WindowManager 状态,包括输入和焦点事件、屏幕方向、转换、动画、定位和转换。
支持的转储
Winscope 可以收集和显示状态转储,即在用户定义的特定时间点拍摄的设备状态快照。与轨迹不同(轨迹会在设备使用期间持续收集,并且可能会影响性能),转储仅在用户定义的时刻进行,从而确保性能和详细程度不会受到影响。这样,您就可以更专注、更高效地分析设备在特定时间点的状态。Winscope 支持以下转储:
- 窗口管理器:转储单个窗口管理器状态。
- SurfaceFlinger:转储单个 SurfaceFlinger 快照。
- 屏幕截图:收集屏幕截图以及转储内容。
如需了解如何构建和运行 Winscope,请参阅运行 Winscope。
如需了解如何收集轨迹,请参阅捕获轨迹。
如需了解如何使用 Winscope Web 界面加载轨迹,请参阅加载轨迹。
如需了解如何分析跟踪记录,请参阅分析跟踪记录。