Note:

An app’s performance is determined by more than one measure.
Performance sometimes refers to raw speed, but also to the UI’s
smoothness and lack of stutter. Other examples of performance
include I/O or network speed. This page primarily focuses on the
second type of performance (UI smoothness), but you can use most
of the same tools to diagnose other performance problems.

To perform tracing inside your Dart code, see Tracing Dart code
in the Debugging page.

Diagnosing performance problems

To diagnose an app with performance problems, you’ll enable
the performance overlay to look at the UI and raster threads.
(The raster thread was previously known as the GPU thread.)
Before you begin, you want to make sure that you’re running in
profile mode, and that you’re not using an emulator.
For best results, you might choose the slowest device that
your users might use.

Connect to a physical device