Member-only story
Decrease memory usage of your Android app in half

As they say in movies, this is based on a true story. While working on an Android project we faced a situation when we needed to achieve 2–3-time decrease of our app’s RAM usage. Every mb mattered.
We started with 100–150 mb range in the RAM which is quite fine for an Android application but the end goal was to get below 70 mb to run smoothly on the target device. After going through the code and cleaning up some of the variables and doing some general optimizations on the collections operations and things like that we found that we need to do more as we were still in the 110–130 mb range.
So I would like to share 4 main steps that ultimately helped get to that 50–70 mb range and made our memory hungry app run efficiently.
Disclaimer — when optimizing the app performance we were still sticking to the best practices and common architectural approach as well as using main stream libraries which would be your “standard kit” — MVVM, Dagger, Retrofit, Glide, Kotlin, Jetpack libraries.
