~/talk

Debugging performance issues with the Flutter DevTools

slides:none on file

Uses Flutter DevTools frame histogram, timeline, CPU profiler and network tab to find four concrete causes: a feed built with SingleChildScrollView that builds ~50 items (replace with ListView.builder and frame build drops from ~200ms to ~23ms); a scroll listener calling setState that rebuilds the whole screen (extract the FAB into its own widget); oversized Unsplash images (1 MB, ~10 MP) fixed by requesting width=WdevicePixelRatio and avoiding uploadRasterImage work; JSON parsing blocking UI for ~2.4s moved off-thread with compute and validated with the flashlight* automated benchmark.

AI-written summary · about

  1. 0:00Flutter performance debugging
  2. 1:12How Flutter renders frames
  3. 2:57Real device testing matters
  4. 4:45Live demo: slow Flutter app
  5. 5:26Analyze frame timings with DevTools
  6. 7:33UI thread bottlenecks in DevTools
  7. 9:43Track widget builds for inefficiencies
  8. 11:49Fix list performance with ListView.builder
  9. 13:13Verify performance improvements
  10. 15:25Avoid widget rebuilds on scroll
  11. 17:58Extract state management for performance
  12. 19:02Raster thread performance issues
  13. 20:50Debug image size and resolution
  14. 22:56Best practices for images
  15. 23:37Fix shader jank with save layers
  16. 26:51Detect UI thread blocking with CPU profiler
  17. 29:04Offload JSON parsing to background
  18. 31:55UI thread must not block
  19. 33:00Non-deterministic performance testing
  20. 33:42Introducing Flashlight for testing
  21. 35:07Measure performance with Flashlight CLI
  22. 36:14Compare before and after optimizations
  23. 37:19Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.