Diagnostics API 参考
Diagnostics API 面向开发、测试和性能排查。它包含运行时诊断面板、布局检查、性能浮层、对象查看器和快照查看器。
DevTools
核心导出:
RenderDevToolsWindowRenderDevToolsExtraTabDevToolsBuiltinTabKeyDevToolsTabKeyDevToolsWindowDebugStateRenderDevToolsWindowOptionsAppDevToolsOptionsAppDevToolsTab
DevTools 是统一的开发工具窗口,内置 Layout 和 Runtime 两个 tab,并允许应用通过 AppOverlayService.registerDevToolsTab() 注册 Network、Logs、State 等扩展 tab。
运行时诊断面板
核心导出:
RenderRuntimeDiagnosticsPanelRuntimeDiagnosticsStateRuntimeDiagnosticsKindFilterRuntimeDiagnosticsSourceFilterRuntimeDiagnosticsViewModeRuntimeDiagnosticsPanelDebugState
诊断面板用于观察 frame、layout、paint、hotspot、window 和 render tree 信息。它适合开发环境常驻,也适合测试环境复现问题。
性能监控
核心导出:
RuntimePerformanceMonitorRuntimeFramePerformanceSampleRuntimePerformanceDebugStatePerformanceOverlayPosition
性能监控用于展示最近帧耗时、布局耗时、绘制耗时和请求来源。发现高频 repaint 或 layout 时,应结合请求 stack 找源头。
布局检查服务
核心导出:
LayoutInspectorServiceLayoutInspectorTreeNodeLayoutInspectorDebugStateLayoutInspectorListener
布局检查服务用于查看节点层级、矩形和命中状态。复杂布局崩坏时,先检查约束和实际 rect,再考虑组件样式。
快照查看器
核心导出:
RenderRuntimeDiagnosticsSnapshotViewerparseRuntimeDiagnosticsSnapshotJsonvalidateRuntimeDiagnosticsSnapshotRuntimeDiagnosticsSnapshotValidationError
快照查看器用于离线分析。开发者可以把运行时快照导出后,在另一个环境中查看。
对象查看器
核心导出:
RenderObjectInspectorObjectInspectorDebugNodeObjectInspectorOptions
对象查看器适合查看上下文、页面状态、服务返回和复杂对象。它支持展开对象树和复制选中节点值,方便开发调试。
使用建议
- 诊断工具默认只服务开发和测试,不替代业务审计。
- 生产环境开启时要注意脱敏。
- 性能浮层不要阻塞正常点击,必要时支持拖动和缩小。
- 大对象展开应分批进行,避免一次展开卡住 UI。
- 快照数据不应成为业务持久化协议。