← AutonomCONTENT HISTORY

Update to Autonom

Snapshot Oct 24, 2026 · 13:54 UTC · version 0.30.0

Collection source: downloaded plugin package.

WHAT CHANGED

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 JSON
Full 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