使用 Winscope 跟踪窗口转换

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 界面加载轨迹,请参阅加载轨迹

如需了解如何分析跟踪记录,请参阅分析跟踪记录