1---2name: li-lance-android-seraphim-framework-flutter-performance3description: Performance4---56# Performance78## **Priority: P1 (OPERATIONAL)**910Performance optimization techniques for smooth 60fps Flutter applications.1112- **Rebuilds**: Use `const` widgets and `buildWhen` / `select` for granular updates.13- **Lists**: Always use `ListView.builder` for item recycling.14- **Heavy Tasks**: Use `compute()` or `Isolates` for parsing/logic.15- **Repaints**: Use `RepaintBoundary` for complex animations. Use `debugRepaintRainbowEnabled` to16 debug.17- **Images**: Use `CachedNetworkImage` + `memCacheWidth`. `precachePicture` for SVGs.18- **Keys**: Provide `ValueKey` for list items and stable IDs for reconciliation.19- **Resource Cleanup**: Dispose controllers/streams in `dispose()`.20- **Pagination**: Default to 20 items per page for network lists.21- **Build Purity**: Keep `build` methods free of heavy work; move logic to BLoC/Application.22- **Image Resizing**: Always set `maxWidth`/`maxHeight` when loading images.2324## Anti-Patterns2526- ❌ `setState()` at the root/page level to update a single counter — use `BlocBuilder` with27 `buildWhen` or `context.select()` for granular rebuilds28- ❌ Sorting/filtering a list inside `build()` — move heavy computation to BLoC or use `compute()`29- ❌ Non-`const` leaf widgets that never change — always apply `const` to static widgets to skip30 reconciliation31- ❌ `Column(children: items.map((e) => ItemWidget(e)).toList())` for large lists — use32 `ListView.builder` for item recycling3334```dart35BlocBuilder<UserBloc, UserState>(36 buildWhen: (p, c) => p.id != c.id,37 builder: (context, state) => Text(state.name),38)39```4041---42> Source: [li-lance/android-seraphim-framework](https://github.com/li-lance/android-seraphim-framework) — distributed by [TomeVault](https://tomevault.io).43<!-- tomevault:4.0:skill_md:2026-06-16 -->
Run npx skillmds@latest add tomevault-io/li-lance-android-seraphim-framework-flutter-performance in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Performance It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.