Tackling Memory Issues on the Instagram Android App
summary
Instagram engineers describe a production pipeline that automatically uploads sanitized HPROF dumps via Omura, analyzes them with Eclipse MAT to extract paths‑to‑GC‑root and aggregate leaks, and wires results into dashboards and crashbot tasks; they define empirical memory red thresholds (Java heap, system, address space), run end‑to‑end leak tests that bisect and revert bad commits, and deploy a memory‑red app destroyer. The system catches problems before users see them and cuts the ~44,000 OOMs/day (51% on low‑end devices).
AI-written summary · about
chapters (24)
- 0:00Memory issues at Instagram
- 1:06Memory management philosophy
- 3:11Prioritizing memory crashes
- 6:45Memory red thresholds
- 9:13Memory red zones impact
- 11:41Monitoring memory issues
- 13:48FAQ on memory thresholds
- 15:56Detecting leaks in production
- 18:32Handling leaks at scale
- 20:25Heap dumps with Omura
- 22:39Heap dump triggers and privacy
- 24:29Analyzing heap dumps
- 25:31Finding leaks and large objects
- 27:47Reports for leaks
- 29:16Assigning leak fixes
- 30:44End-to-end leak testing
- 32:31Benefits of leak tests
- 33:56Fixing leaks in practice
- 35:02Leaks and crashes correlation
- 36:11Common Android leak patterns
- 39:01Debugging memory leaks
- 40:44Bitmap handling best practices
- 41:48Why leak fixes matter
- 44:05Q&A on memory zones
related talks
53mMemory on Android, Leaks and OOM
43mMemory Dumps: Going beyond the memory leak
07mAndroid memory tools and best practices
40m640K ought to be enough for anyone
38mOptimize your app performance for the next generation of Android
38mOptimize your app performance for the next generation of Android
37mRoot causing memory growth with LeakCanary 3
25mMemory leaks on Android: lessons learned and methodology
