Android × Memory Leaks
Android Memory Leaks
We track 26 Android Memory Leaks case studies from 19 engineering teams. Google, Grindr and Badoo write about it most. Many posts also cover Developer Tools and Performance Profiling. The posts run from 2011 to 2026. The newest is from March 2026.
Android Memory Leaks articles 1–26 of 26
Memory Leaks You Probably Missed in Jetpack Compose
Mahmut Yuce from Getir destroys the myth that declarative UI means no memory leaks. Compose apps leak differently, and these patterns are sneakier than the old View system bugs.
Silent Killer in Production: Memory Leak Diagnosis and Solution Journey
Taha Selim Aksakal from Teknasyon Engineering tracked down a memory leak that silently grew RAM usage from 160MB to critical levels over 12 hours—with zero traffic. The culprit? An unexpected interaction betwee...
Automating Memory Leak Detection with AI
Ricardo Marin from Grindr turned memory leak debugging from a 2-4 hour manual slog into a minutes-long automated process. The secret? Recognizing that memory leaks are pattern-matching problems, not creative on...
JioHotstar Android App — Road to 99.9% CFUR
JioHotstar pushed their Android app from 99.5% to 99.8% crash-free rate by hunting down invisible memory killers. Here's how they did it.
The Android Memory Revolution That Will Make Your Apps Fast
Chamod Lakmal from PickMe reveals why November 1, 2025 marks Android's biggest performance shift since Android 5.0. Apps could launch 40% faster, but most developers aren't ready.
Debugging OOMs: SQLite Query Optimization
Brian Terczynski from Thumbtack tracked down a brutal Android OOM bug that was crashing apps at startup—and the culprit wasn't a memory leak. It was hiding in plain sight: their SQLite queries.
Preparing Apps for 16KB Page Size Devices
Dan Brown from Google Play just dropped a requirement that'll affect every Android app targeting Android 15+. Starting November 1st, 2025, your app must support 16 KB page sizes or risk breaking on next-gen dev...
How to Reduce Android Studio Memory Usage
Android Studio eating your RAM? You're not alone. A few strategic tweaks can reclaim gigabytes and slash build times by 20-50%.
How we reduced peak memory and CPU usage of the product configuration management SDK
Grab's configuration management SDK was crushing service performance with memory spikes and CPU throttling. 98% of services were loading 100x more data than they actually needed.
Detecting Android Memory Leaks in Production
Lyft discovered memory leaks affecting only 1% of users—issues that would never show up in local testing. Here's how they built a production monitoring system to catch what profiling tools miss.
Debugging High Latency in the Market Store
Grab's ML feature store went from 200ms to 2 second latency. The culprit? A single line of code in an async library.
How Optimizing Memory Management with LMDB Boosted Performance on Our API Service
Pinterest's API team just freed up 4.5GB of memory per host with a clever database swap. The result? Fewer servers, happier users, and a masterclass in optimization.
Detecting Memory Leaks in Android Applications
Dropbox's Android team was fighting OutOfMemoryError crashes. The culprit? Memory leaks hiding in activity lifecycles that traditional debugging couldn't catch.
Solving Native Memory Leaks in Mobile Apps
Sid Rathi from Expedia Group debugged a production nightmare: KStream apps dying in an endless OOM loop. The culprit? A single unclosed iterator eating native memory.
Leak Canary: What Is It?
Memory leaks are silent killers of Android app performance. They're hard to spot manually, but there's a tool that does the heavy lifting for you.
OOM Bitmap Resource Analysis and Optimization
Ansgar Lin from Grindr Engineering found a single placeholder image consuming 8.3MB of memory at runtime. On devices with only 16-32MB Java heap, that's a recipe for constant crashes.
Hermes JavaScript Engine for React Native
Facebook just open-sourced Hermes, a JavaScript engine built specifically for React Native on Android. This isn't just another optimization tweak. It's a ground-up rethink of how JS should run on mobile.
Handling WebP OutOfMemoryError in Android
Ansgar Lin from Grindr Engineering discovered their app was crashing with OutOfMemoryErrors, and the culprit wasn't bad code. It was a tiny WebP image causing massive runtime memory allocation.
Map Performance Comparison and Judy Data Structure Alternatives
Marko Kevac from Bumble's Platform team benchmarked 6 associative array implementations to replace their aging Judy data structure. The winner? Not what you'd expect when memory matters.
RxJava 1 -> RxJava 2 (Disposing Subscriptions)
Migrating from RxJava 1 to RxJava 2? The biggest gotcha isn't what you think—it's how you dispose of subscriptions.
Android Handler Memory Leaks
Dima Voronkevych from Bumble's Android team reveals how a simple postDelayed() call can silently keep 7 Activity instances alive in memory. Even with garbage collection, your app might be one rotation away from...
Android Handler Memory Leaks
Dima Voronkevych from Bumble's Android team reveals how a simple Handler.postDelayed() call created 7 Activity instances in memory when only 1 should exist. The garbage collector couldn't save them.
FlatBuffers: Memory-Efficient Serialization
Wouter van Oortmerssen from Google's Fun Propulsion Labs just open-sourced FlatBuffers, a serialization library that reads data without unpacking or allocating extra memory. Game developers struggling with perf...
Garbage Collection Optimization: High Throughput and Low Latency Java Applications
LinkedIn Engineering cut their tail latency by 75% through systematic garbage collection tuning. Here's their playbook for high-performance Java apps.
Process Stats: Understanding How Your App Uses Memory
Dianne Hackborn from the Android framework team reveals a hidden tool that exposes exactly how your app behaves when users aren't looking. Most developers are flying blind on background memory usage.
Most Memory Leaks Are Good
Shopify Engineering shares a war story: their app servers were hitting 16GB+ memory usage, crashing with ENOMEM errors, and requiring constant restarts. The culprit? Not where they expected.