← AutonomCONTENT HISTORY
WHAT CHANGED
Update to Autonom
Snapshot Oct 24, 2026 · 13:54 UTC · version 0.30.0
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Autonom and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Investigate Android Java, Kotlin, native, and process memory using repeatable flows, meminfo, heap dumps, retaining paths, heapprofd, and before-after evidence without confusing growth with proof.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 227
},
{
"relative_path": "scripts/analyze_meminfo_series.py",
"size_in_bytes": 7164
},
{
"relative_path": "scripts/capture_android_memory.sh",
"size_in_bytes": 3111
}
],
"name": "android-memory-leaks",
"skill_md_contents": "---\nname: android-memory-leaks\ndescription: Investigate Android Java, Kotlin, native, and process memory using repeatable flows, meminfo, heap dumps, retaining paths, heapprofd, and before-after evidence without confusing growth with proof.\n---\n\n# Android Memory Leaks\n\nGrowth is a lead. A leak is a retained object with a root path, or a repeatable\naccumulation under an equivalent flow.\n\n## Evidence ladder\n\n1. Directional snapshots via `dumpsys meminfo` and `/proc/<pid>/status`.\n2. Managed-heap dump when the process is debuggable and the suspect lives in\n Java/Kotlin heap.\n3. Class counts, retained size, fields, and GC roots (Studio Profiler,\n LeakCanary, Shark).\n4. Perfetto `heapprofd` for native allocation growth.\n5. Same flow again after the fix; same metrics and paths.\n\n## Capture\n\nPrefer the Autonom CLI — artifacts land in the session's `metrics/` dir and\nthe journal keeps the timeline:\n\n```bash\nautonom metrics snapshot --label baseline # cheap directional point\nautonom metrics memory capture --label after-flow [--no-hprof]\nautonom metrics memory analyze # series math, leads only\nautonom metrics series --count 5 --interval 2 # snapshots + slope/leads\n```\n\nPass `--no-hprof` for release/profileable builds where dumpheap is\nunavailable. The standalone scripts remain for hosts without a session:\n\n```bash\n<skill-root>/scripts/capture_android_memory.sh \\\n --serial <serial> --package <application-id> \\\n --out-dir <artifact-dir> --label after-flow\npython3 <skill-root>/scripts/analyze_meminfo_series.py <artifact-dir> \\\n --glob '*-meminfo.txt' --json\n```\n\n## Interpretation rules\n\n- One spike ≠ leak.\n- Prove managed leaks with a retaining path or repeatable accumulation.\n- Separate Dart/Flutter heap from Android managed and native memory.\n- Separate intentional process caches from feature-lifetime objects.\n- Fix the retaining edge; do not sprinkle forced GC or blanket clear calls.\n\n## Frequent retainers\n\nActivities, fragments, platform views, contexts, listeners, coroutines,\nadapters, bitmaps, singletons, plugin registrars, event channels, JNI handles,\nand caches without clear ownership.\n"
}SHA-256 of public snapshot: bf392bd28f5014b803956a3490c048cf305773f06dcc36476436a985659480cf