The memory spike is most likely from decoding and caching too many full-resolution catalog images at once. Recommended fixes: - Resize images at load time instead of keeping original dimensions in memory. Set `memCacheWidth` / `memCacheHeight` or `maxWidth` / `maxHeight` based on the rendered card size. - Use `CachedNetworkImage` so repeated scrolling does not redownload assets, but keep cache dimensions constrained. - Render catalog items with `ListView.builder` so off-screen items are recyc...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill flutter-performance --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Flutter Performance?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-flutter-performance-2ae86c4f)More formats (shields.io, HTML) on the badges page.
The memory spike is most likely from decoding and caching too many full-resolution catalog images at once.
Recommended fixes:
- Resize images at load time instead of keeping original dimensions in memory. Set `memCacheWidth` / `memCacheHeight` or `maxWidth` / `maxHeight` based on the rendered card size.
- Use `CachedNetworkImage` so repeated scrolling does not redownload assets, but keep cache dimensions constrained.
- Render catalog items with `ListView.builder` so off-screen items are recycled instead of all staying alive.
- Paginate the catalog, ideally around 20 items per page, rather than loading the entire image-heavy dataset at once.
- Avoid heavy image-related work in `build()` and keep item widgets as `const` where possible to reduce rebuild pressure.
- If thumbnails are still expensive, generate smaller server-side variants and load those in the list instead of full-res originals.
Example:
```dart
CachedNetworkImage(
imageUrl: product.thumbnailUrl,
memCacheWidth: 300,
maxWidthDiskCache: 300,
fit: BoxFit.cover,
)
```
If the issue persists after resizing, profile image cache usage first—the bottleneck is usually oversized decoded bitmaps, not the widget tree itself.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!