什么是 DevTools?

#

DevTools 是一套用于 Dart 和 Flutter 的性能和调试工具。Flutter DevTools 和 Dart DevTools 指的是同一套工具。

Dart DevTools Screens

如需 DevTools 的视频介绍,请查看以下深入讲解和用例演练:

在新标签页中在 YouTube 上观看:“深入了解 Flutter 和 Dart DevTools”

DevTools 有哪些功能?

#

以下是您可以使用 DevTools 执行的一些操作:

  • 检查 Flutter 应用程序的 UI 布局和状态。
  • 诊断 Flutter 应用程序中的 UI 卡顿性能问题。
  • 对 Flutter 或 Dart 应用程序进行 CPU 性能分析。
  • 对 Flutter 应用程序进行网络性能分析。
  • 对 Flutter 或 Dart 应用程序进行源代码级调试。
  • 调试 Flutter 或 Dart 命令行应用程序中的内存问题。
  • 查看正在运行的 Flutter 或 Dart 命令行应用程序的通用日志和诊断信息。
  • 分析代码和应用程序大小。
  • 验证 Android 或 iOS 应用程序中的深层链接。

我们建议您结合现有 IDE 或基于命令行的开发工作流来使用 DevTools。

如何启动 DevTools

#

您可以通过以下工具启动 DevTools:

常见问题排查

#

问题:我的应用看起来卡顿或掉帧。我该如何修复?

回答:性能问题可能导致 UI 帧卡顿和/或减慢某些操作。

  1. 要检测哪些代码影响了具体的延迟帧,请从 性能 > 时间轴 开始。
  2. 要了解哪些代码在后台占用了最多的 CPU 时间,请使用 CPU 分析器

欲了解更多信息,请查看 性能 页面。

问题:我看到很多垃圾回收 (GC) 事件发生。这是个问题吗?

回答:频繁的 GC 事件可能会显示在 DevTools > 内存 > 内存图表上。在大多数情况下,这不是问题。

如果您的应用具有频繁的后台活动且存在一些空闲时间,Flutter 可能会利用该机会回收创建的对象,而不会影响性能。

提供反馈

#

请试用 DevTools,提供反馈,并在 DevTools 问题跟踪器 中提交问题。谢谢!

DevTools 版本控制

#

DevTools 作为 Flutter SDK 的一部分分发。要获取最新的 DevTools 功能,请运行 flutter upgrade 以获取最新版本的 Flutter。要在 DevTools 功能到达 Flutter stable 通道之前访问它们,请考虑切换到 betamain 通道。

其他资源

#

有关调试和分析 Flutter 应用程序的更多信息,请参阅 调试 页面,特别是其 其他资源 列表。

有关将 DevTools 与 Dart 命令行应用程序结合使用的更多信息,请参阅 dart.dev 上的 DevTools 文档