Flutter and Dart DevTools

What is DevTools?

#

DevTools is a suite of performance and debugging tools for Dart and Flutter. Flutter DevTools_ and Dart DevTools refer to the same set of tools.

Dart DevTools Screens

For a video introduction to DevTools, check out the following deep dive and use-case walkthrough:

Dive in to DevTools

What can I do with DevTools?

#

Here are some of the things you can do with DevTools:

  • Inspect the UI layout and state of a Flutter app.
  • Diagnose UI jank performance issues in a Flutter app.
  • CPU profiling for a Flutter or Dart app.
  • Network profiling for a Flutter app.
  • Source-level debugging of a Flutter or Dart app.
  • Debug memory issues in a Flutter or Dart command-line app.
  • View general log and diagnostics information about a running Flutter or Dart command-line app.
  • Analyze code and app size.

We expect you to use DevTools in conjunction with your existing IDE or command-line based development workflow.

How to launch DevTools

#

See the VS Code, Android Studio/IntelliJ, or command line pages for instructions on how to launch DevTools.

Troubleshooting some standard issues

#

Question: My app looks janky or stutters. How do I fix it?

Answer: Performance issues can cause UI frames to be janky and/or slow down some operations.

  1. To detect which code impacts concrete late frames, start at Performance > Timeline.
  2. To learn which code takes the most CPU time in the background, use the CPU profiler.

For more information, check out the Performance page.

Question: I see a lot of garbage collection (GC) events occurring. Is this a problem?

Answer: Frequent GC events might display on the DevTools > Memory > Memory chart. In most cases, it's not a problem.

If your app has frequent background activity with some idle time, Flutter might use that opportunity to collect the created objects without performance impact.

Providing feedback

#

Please give DevTools a try, provide feedback, and file issues in the DevTools issue tracker. Thanks!

Other resources

#

For more information on debugging and profiling Flutter apps, see the Debugging page and, in particular, its list of other resources.

For more information on using DevTools with Dart command-line apps, see the DevTools documentation on dart.dev.