dhruvanbhalara/skills237 installs
dart-memory
Use when troubleshooting memory leaks, optimizing garbage collection overhead, or disposing streams and listeners in Dart.
How do I install this agent skill?
npx skills add https://github.com/dhruvanbhalara/skills --skill dart-memoryIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides standard guidelines and best practices for memory management in Dart and Flutter applications. No security issues were detected.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerpass
1 file scanned · No issues
What does this agent skill do?
Memory Management
Mobile devices have limited RAM. Efficient memory management is critical to prevent crashes and ensure a smooth user experience.
Resource Lifecycle
- Explicit Disposal: Always close
StreamController,Timer,FocusNode, andChangeNotifierin thedispose()method. - Late Initialization: Use
lateto delay object creation until it's actually needed, reducing initial memory footprint.
Garbage Collection (GC) Pressure
- Generational GC: Dart's GC is optimized for short-lived objects. However, creating thousands of objects in a single frame can still cause jank.
- Object Re-use: Avoid creating new objects in
build()or high-frequency loops. Reuse data structures where possible. - Large Collections: Clearing a large list (
list.clear()) is better than re-assigning it to a new list if the list itself is long-lived.
Mobile Specifics
- Isolates: Use
Isolate.run()for heavy computations (JSON parsing > 1MB, image processing). This keeps the main thread free and prevents UI freezes. - Image Memory: Use
cacheWidthandcacheHeightinImage.networkorImage.assetto avoid loading high-resolution images into memory at full size. - Memory Leaks: Use the DevTools Memory View to identify "leaking" objects that stay in the heap after their context (like a screen) is closed.
Large Data Handling
- Pagination: Never load entire datasets into memory. Use server-side or local database pagination (Isar, SQLite).
- Streaming: For large files or real-time data, use
Streamto process data in chunks rather than buffering the entire content in memory.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/dhruvanbhalara/skills/dart-memory">View dart-memory on skillZs</a>