在加载了跟踪记录之后,点击查看跟踪记录以直观呈现已上传的跟踪记录。每条跟踪记录的标签页都会显示在窗口的顶部面板上。如果上传的文件包含相关跟踪记录,屏幕录制跟踪记录或屏幕截图的浮动视图会叠加在屏幕上:
图 1. 通过 Winscope 查看跟踪记录。
以下部分介绍了查看跟踪记录界面上的界面元素。
矩形
一个适用于 Winscope 视图(例如 WindowManager、SurfaceFlinger 和 ViewCapture)的 LAYERS 面板,包含来自跟踪记录的矩形元素,可直观地呈现其在 Z 轴上的位置和顺序。
通过 LAYERS 面板上的导航控件,您可以修改矩形图层的绘制模式,以及它们的间距和旋转方式:
图 2. 矩形控件。
渐变格式
如需更有效地检查层次结构中的所有元素,您可以使用 rect format 按钮将矩形绘制格式切换为渐变。在渐变格式中,矩形格式按钮会变为浅灰色。
在此模式下,每个矩形的透明度会根据其 Z 顺序而降低,Z 顺序较高的矩形会更透明。这样一来,您就可以看到层次结构中的所有元素,而无需担心矩形相互遮挡:
图 3. 矩形渐变。
不透明度格式
如需将矩形绘制格式更改为不透明度,请点击矩形格式按钮。在不透明度格式中,矩形格式按钮会变为深灰色。
在此模式下,每个矩形都会根据其不透明度(例如 Surface 或 View 不透明度)进行绘制:
图 4. 矩形不透明度。
线框图格式
如需将矩形表示法更改为线框图,请点击矩形格式按钮。这种表示法可让您更轻松地检查和分析层次结构中的各个元素。在线框图格式下,矩形格式按钮会变成没有阴影的轮廓:
图 5. 矩形线框图。
旋转
使用旋转滑块可在 0 到 45 度之间更改矩形的视角,以便您发现元素离开屏幕的情况:
图 6. 矩形旋转。
间距
使用间距滑块控制层间距,创建扁平化或更分散的视图,以便更好地检查元素的 Z 轴排序:
图 7. 矩形朝向。
显示屏和窗口选择
在 SurfaceFlinger 视图中,当在具有多个屏幕的设备上录制数据时,系统会显示一个菜单,其中包含可用的屏幕,以便您仅选择感兴趣的屏幕。
在 ViewCapture 中,当录制多个系统窗口(例如通知栏、任务栏和启动器)时,菜单会列出可用的窗口。
平移和缩放
您可以通过点击矩形区域并拖动鼠标,水平或垂直地调整矩形的位置。如需放大、缩小或重置缩放级别,您可以使用滚轮或控件栏上的缩放按钮。
层次结构
Winscope 查看器通常会包含层次结构查看器。图 1 中的查看器会根据所分析的跟踪记录描绘各种层次结构。例如,查看器可以显示 WindowManager 中的窗口层次结构或系统界面窗口中的视图层次结构。
如需了解特定层次结构类型,请参阅各条跟踪记录的相关部分。
本部分介绍了常规层次结构用法,例如显示差异、仅显示可见元素、扁平式和搜索功能。
图 8. 层次结构控件。
显示差异
启用显示差异功能后,Winscope 会自动监控并显示当前状态与之前状态之间的变化。显示差异功能会以红色突出显示已移除的元素,以蓝色突出显示已修改的元素,并以绿色突出显示已创建的新元素。这种直观表示法可让您更快地识别和了解两种状态之间的差异,从而更轻松地跟踪更改和发现潜在问题。
图 9. 显示差异层次结构。
搜索和过滤
层次结构查看器提供使用正则表达式 (regex) 的搜索功能。此过滤器同时定位到元素的名称和其值(对于属性)。当过滤器与层次结构中的子元素匹配时,整个父级链(一直到树的根)都会变得可见,如下图所示:
图 10. 搜索层次结构。
仅显示可见元素
借助仅显示可见元素功能,您可以过滤掉层次结构中的所有隐藏元素。默认情况下,Winscope 会同时显示可见元素和不可见元素。可见元素以黑色绘制,而不可见元素则以灰色绘制。
扁平式
扁平式按钮通过消除元素之间的父子关系来重新组织层次结构。此操作会在同一层级呈现所有元素。与仅显示可见元素选项结合使用时,生成的层次结构仅显示可见元素,不包括其父元素,如以下图所示:
图 11. 扁平式层次结构。
属性
在 Winscope 中,许多查看器都集成了媒体资源查看器。此查看器会显示与从层次结构视图中选择的元素关联的各种属性列表。例如,查看器可以显示 WindowManager 中的 activity 属性或系统界面中的视图属性。
如需了解特定属性,请参阅有关 SurfaceFlinger、WindowManager 和 View 捕获跟踪记录的部分。
本部分介绍了显示差异、搜索和显示默认内容功能中的常规层次结构。
显示差异
显示差异功能的使用方式与在层次结构视图中显示差异相同。
搜索和过滤
搜索功能的使用方式与在层次结构视图中搜索相同。
显示默认内容
默认情况下,Winscope 仅显示修改后的属性值,这些值是各自数据类型的非默认值。例如,Winscope 会省略布尔值的 false
、整数的 0
、对象的 null
和数组的 []
。这种简化方式可简化用户可见的属性列表。不过,在某些情况下,全面了解所有元素相关信息会很有帮助。在这种情况下,显示默认内容选项会显示 Winscope 中的所有可用属性,包括值为空或 null 的属性。
图 12. 属性默认值。
一般快捷键
Winscope 支持以下快捷方式:
图 13. 常规快捷方式。