Performance
Priority: P1 (OPERATIONAL)
Performance optimization techniques for smooth 60fps Flutter applications.
- Rebuilds: Use
constwidgets andbuildWhen/selectfor granular updates. - Lists: Always use
ListView.builderfor item recycling. - Heavy Tasks: Use
compute()orIsolatesfor parsing/logic. - Repaints: Use
RepaintBoundaryfor complex animations. UsedebugRepaintRainbowEnabledto debug. - Images: Use
CachedNetworkImage+memCacheWidth.precachePicturefor SVGs.
π« Anti-Patterns
- Large Rebuilds:
**No SetState at Root**: Use granular builders (BlocBuilder, Consumer). - Logic in Build:
**No Heavy Work in body**: Perform parsing/sorting in the Business Layer. - Missing Const:
**No Dynamic Leaf Widgets**: Use const where possible.
BlocBuilder<UserBloc, UserState>(
buildWhen: (p, c) => p.id != c.id,
builder: (context, state) => Text(state.name),
)
