<< All versions
Skill v1.0.0
currentAutomated scan100/100majiayu000/claude-skill-registry/flutter-performance
──Details
PublishedMarch 9, 2026 at 02:32 PM
Content Hashsha256:927fd0b89cca1f72...
Git SHAdiscovery:37
──Files
Files (1 file, 1.8 KB)
SKILL.md1.8 KBactive
SKILL.md · 108 lines · 1.8 KB
description: "Flutter performance: DevTools profiling, widget optimization, memory management, const widgets. Use when optimizing render performance or debugging jank." version: "1.0.0" updated: "2026-01-07"
Flutter Performance
Commands
bash
flutter run --profile # Required for profilingflutter pub global run devtools
Targets
| Target | Threshold | |
|---|---|---|
| 60 FPS | 16.67ms/frame | |
| Cold start | < 2s |
Widget Optimization
Const Constructors
dart
// GOODconst Column(children: [Text('Static'), Icon(Icons.star)])
Extract Widgets
dart
// GOOD: Only counter rebuildsColumn(children: [const ExpensiveWidget(), // no rebuild_Counter(), // isolated state],)
RepaintBoundary
dart
RepaintBoundary(child: AnimatedWidget())
Build Optimization
dart
// BAD: compute in buildfinal sorted = items..sort();// GOOD: compute oncelate List<Item> _sorted;void initState() { _sorted = items..sort(); }
Memory Management
dart
@overridevoid dispose() {_animController.dispose();_textController.dispose();_subscription?.cancel();super.dispose();}// Check mountedif (!mounted) return;setState(() => _data = data);
Lists
dart
// Use builderListView.builder(itemCount: items.length, itemBuilder: ...)// Fixed extentListView.builder(itemExtent: 72, ...)// KeysValueKey(item.id)
Images
dart
CachedNetworkImage(imageUrl: url,memCacheWidth: 200,memCacheHeight: 200,)
Checklist
- [ ] Profiled in profile mode
- [ ] No expensive ops in build()
- [ ] Const constructors used
- [ ] ListView.builder for lists
- [ ] Controllers disposed
- [ ] Check mounted before setState
Related Skills
- flutter-animations: Animation performance
- flutter-code-quality: Static analysis