Frequently asked questions

  • Which performance dashboards have metrics that are related to Flutter?
    • (to be retired)
  • How do I add a benchmark to Flutter?
  • What are some tools for capturing and analyzing performance metrics?
  • My Flutter app looks janky or stutters. How do I fix it?
  • What are some costly performance operations that I need to be careful with?
  • How do I tell which widgets in my Flutter app are rebuilt in each frame?
    • Set debugProfileBuildsEnabled true in widgets/debug.dart.
    • Alternatively, change the performRebuild function in widgets/framework.dart to ignore debugProfileBuildsEnabled and always call Timeline.startSync(...)/finish.
    • If you use IntelliJ, a GUI view of this data is available. Select show widget rebuild information, and you will see which widgets rebuild visually in your IDE.
  • How do I query the target frames per second (of the display)?
  • How to solve my app’s poor animations caused by an expensive Dart async function call that is blocking the UI thread?
  • How do I determine my Flutter app’s package size that will be downloaded by a user?
  • How do I see the breakdown of the Flutter engine size?
  • How can I take a screenshot of an app that is running and export it as a SKP file?
    • Run flutter screenshot --type=skia --observatory-uri=...
    • Known issue of a SKP screenshot:
    • To analyze and visualize the SKP file, visit
  • How do I retrieve the shader persistent cache from a device?
    • On Android, you can do the following:
      adb shell
      run-as <com.your_app_package_name>
      cp <your_folder> <some_public_folder, e.g., /sdcard> -r
      adb pull <some_public_folder/your_folder>
  • How do I perform a trace in Fuchsia?