DirectSurface UIDirectSurface UI
开始使用
文档/API 参考

Diagnostics API 参考

Diagnostics API 面向开发、测试和性能排查。它包含运行时诊断面板、布局检查、性能浮层、对象查看器和快照查看器。

DevTools

核心导出:

  • RenderDevToolsWindow
  • RenderDevToolsExtraTab
  • DevToolsBuiltinTabKey
  • DevToolsTabKey
  • DevToolsWindowDebugState
  • RenderDevToolsWindowOptions
  • AppDevToolsOptions
  • AppDevToolsTab

DevTools 是统一的开发工具窗口,内置 Layout 和 Runtime 两个 tab,并允许应用通过 AppOverlayService.registerDevToolsTab() 注册 Network、Logs、State 等扩展 tab。

运行时诊断面板

核心导出:

  • RenderRuntimeDiagnosticsPanel
  • RuntimeDiagnosticsState
  • RuntimeDiagnosticsKindFilter
  • RuntimeDiagnosticsSourceFilter
  • RuntimeDiagnosticsViewMode
  • RuntimeDiagnosticsPanelDebugState

诊断面板用于观察 frame、layout、paint、hotspot、window 和 render tree 信息。它适合开发环境常驻,也适合测试环境复现问题。

性能监控

核心导出:

  • RuntimePerformanceMonitor
  • RuntimeFramePerformanceSample
  • RuntimePerformanceDebugState
  • PerformanceOverlayPosition

性能监控用于展示最近帧耗时、布局耗时、绘制耗时和请求来源。发现高频 repaint 或 layout 时,应结合请求 stack 找源头。

布局检查服务

核心导出:

  • LayoutInspectorService
  • LayoutInspectorTreeNode
  • LayoutInspectorDebugState
  • LayoutInspectorListener

布局检查服务用于查看节点层级、矩形和命中状态。复杂布局崩坏时,先检查约束和实际 rect,再考虑组件样式。

快照查看器

核心导出:

  • RenderRuntimeDiagnosticsSnapshotViewer
  • parseRuntimeDiagnosticsSnapshotJson
  • validateRuntimeDiagnosticsSnapshot
  • RuntimeDiagnosticsSnapshotValidationError

快照查看器用于离线分析。开发者可以把运行时快照导出后,在另一个环境中查看。

对象查看器

核心导出:

  • RenderObjectInspector
  • ObjectInspectorDebugNode
  • ObjectInspectorOptions

对象查看器适合查看上下文、页面状态、服务返回和复杂对象。它支持展开对象树和复制选中节点值,方便开发调试。

使用建议

  • 诊断工具默认只服务开发和测试,不替代业务审计。
  • 生产环境开启时要注意脱敏。
  • 性能浮层不要阻塞正常点击,必要时支持拖动和缩小。
  • 大对象展开应分批进行,避免一次展开卡住 UI。
  • 快照数据不应成为业务持久化协议。