布局检查器

布局检查器允许您在模拟器或物理设备上运行的应用中检查 Compose 布局。您可以使用布局检查器检查可组合项重新组合或跳过的频率,这有助于识别应用中的问题。例如,某些编码错误可能会强制您的 UI 过度重新组合,从而导致性能下降。某些编码错误可能会阻止您的 UI 重新组合,从而阻止您的 UI 更改显示在屏幕上。如果您不熟悉布局检查器,请查看有关如何运行它的指南

获取重新组合次数

在调试 Compose 布局时,了解可组合项何时重新组合对于理解您的 UI 是否正确实现非常重要。例如,如果它重新组合的次数过多,您的应用可能会执行不必要的工作。另一方面,当您预期组件未重新组合时,可能会导致意外行为。

布局检查器会显示您在与应用交互时布局层次结构中离散的可组合项何时重新组合或跳过。在 Android Studio 中,您的重新组合将突出显示,以帮助您确定 UI 中的可组合项在哪里重新组合。

图 1. 布局检查器中突出显示的重新组合。

突出显示的部分显示了布局检查器图像部分中可组合项的渐变叠加,并逐渐消失,以便您可以了解 UI 中重新组合次数最多的可组合项在哪里可以找到。如果一个可组合项的重新组合率高于另一个可组合项,则第一个可组合项会收到更强的渐变叠加颜色。如果您双击布局检查器中的可组合项,则会转到相应的代码进行分析。

图 2. 布局检查器中的组合和跳过计数器。

打开布局检查器窗口并连接到您的应用进程。在组件树中,布局层次结构旁边会出现两列。第一列显示每个节点的组合次数,第二列显示每个节点的跳过次数。选择可组合节点会显示可组合节点的尺寸和参数,除非它是一个内联函数,在这种情况下,参数无法显示。您还可以在选择组件树布局显示中的可组合项时,在属性窗格中查看类似的信息。

重置计数可以帮助您了解与应用的特定交互期间的重新组合或跳过。如果要重置计数,请点击组件树窗格顶部的重置

Enable the composition and skip counter in Layout
Inspector

图 3. 在布局检查器中启用组合和跳过计数器。

Compose 语义

在 Compose 中,语义以另一种方式描述您的 UI,这种方式对于辅助功能服务和测试框架来说是可以理解的。您可以使用布局检查器检查 Compose 布局中的语义信息。

Semantic information displayed using the Layout
Inspector

图 4. 使用布局检查器显示的语义信息。

在选择 Compose 节点时,使用属性窗格检查它是否直接声明语义信息、合并其子元素的语义或同时执行这两项操作。要快速识别包含语义(已声明或合并)的节点,请使用组件树窗格中的查看选项下拉菜单,然后选择突出显示语义层。这将仅突出显示树中包含语义的节点,您可以使用键盘在它们之间快速导航。