跳到主内容

Flutter 和 Dart DevTools

如何将 Flutter DevTools 与 Flutter 一起使用。

什么是 DevTools?

#

DevTools 是一套用于 Dart 和 Flutter 的性能分析和调试工具。Flutter DevToolsDart 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 应用中的深层链接 (Deep links)。

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

如何启动 DevTools

#

你可以使用以下工具启动 DevTools:

常见问题排查

#

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

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

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

更多信息,请参阅 性能 (Performance) 页面。

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

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

如果你的应用有频繁的后台活动且伴随一些空闲时间,Flutter 可能会利用该机会收集已创建的对象,而不会产生性能影响。

提供反馈

#

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

DevTools 版本控制

#

DevTools 作为 Flutter SDK 的一部分分发。要获取最新的 DevTools 功能,请运行 flutter upgrade 以获取最新版本的 Flutter。若要在功能进入 Flutter stable (稳定) 通道之前使用,请考虑切换到 betamain 通道。

其他资源

#

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

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