{"id":53607,"plugin_id":"plugins_6abcb949170081919055247eaf18cfc0","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T13:54:35.296Z","digest":"9c9c6751c3f45f082eb1bc4df152f641dbd688662ffaec17ec22dd83c9f9d64f","against":null,"payload":{"description":"Investigate Flutter and Android memory growth using Dart retaining paths, DevTools snapshots, disposal and lifecycle review, native heap evidence, and comparable before-after flows.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":212},{"relative_path":"references/memory-evidence.md","size_in_bytes":575}],"name":"flutter-memory-leaks","skill_md_contents":"---\nname: flutter-memory-leaks\ndescription: Investigate Flutter and Android memory growth using Dart retaining paths, DevTools snapshots, disposal and lifecycle review, native heap evidence, and comparable before-after flows.\n---\n\n# Flutter Memory Leaks\n\nSeparate Dart heap, external/graphics memory, Android managed heap, and native\nallocations. Compare equivalent idle points.\n\n## Ladder\n\n1. Define one flow and an equivalent idle baseline.\n2. Capture DevTools heap snapshots (or allocation tracing) before and after.\n3. Inspect retaining paths for growing types.\n4. Review disposal: controllers, streams, timers, listeners, `BuildContext`\n   capture, image caches, statics, platform-channel subscriptions.\n5. Escalate to platform metrics when process growth is not explained by Dart\n   snapshots: `autonom metrics snapshot` / `series` on both platforms, then\n   `android-memory-leaks` (`autonom metrics memory capture|analyze`) for the\n   Android evidence pack.\n6. Fix the retaining edge; repeat the same flow.\n\nRead `references/memory-evidence.md`.\n\n## Rules\n\n- RSS/PSS growth alone is not proof.\n- Disposed ≠ unreachable; check the path.\n- Do not paper over leaks with forced GC or global cache wipes.\n- Add leak-tracking libraries only if the repo already uses them or the user\n  asks.\n\n## Report\n\nFlow, device, mode, artifacts, retained types, path or accumulation proof,\nfix, before/after.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}