Flutter 和 Dart DevTools
如何将 Flutter DevTools 与 Flutter 一起使用。
什么是 DevTools?
#DevTools 是一套用于 Dart 和 Flutter 的性能分析和调试工具。Flutter DevTools 和 Dart DevTools 指的是同一套工具。
如需观看 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 帧卡顿和/或拖慢某些操作。
- 要检测哪些代码影响了具体的延迟帧,请从 Performance (性能) > Timeline (时间轴) 开始排查。
- 要了解哪些代码在后台占用了最多的 CPU 时间,请使用 CPU 性能分析器。
更多信息,请参阅 性能 (Performance) 页面。
问题:我看到很多垃圾回收 (GC) 事件发生。这是个问题吗?
回答:频繁的 GC 事件可能会显示在 DevTools > Memory (内存) > Memory chart (内存图表) 中。在大多数情况下,这不是问题。
如果你的应用有频繁的后台活动且伴随一些空闲时间,Flutter 可能会利用该机会收集已创建的对象,而不会产生性能影响。
提供反馈
#请尝试使用 DevTools,提供反馈,并在 DevTools 问题追踪器中提交问题。谢谢!
DevTools 版本控制
#DevTools 作为 Flutter SDK 的一部分分发。要获取最新的 DevTools 功能,请运行 flutter upgrade 以获取最新版本的 Flutter。若要在功能进入 Flutter stable (稳定) 通道之前使用,请考虑切换到 beta 或 main 通道。
其他资源
#有关调试和分析 Flutter 应用的更多信息,请参阅 调试 (Debugging) 页面,特别是其中的 其他资源列表。
有关将 DevTools 与 Dart 命令行应用一起使用的更多信息,请参阅 dart.dev 上的 DevTools 文档。