Reducing APK Size: A Journey to Smaller Android Apps
Article Summary
Dmytro Khmelenko shares how a job candidate's pointed question about their 63 MB APK sparked a complete optimization overhaul. The results? A 62% size reduction that every Android team should study.
When an interview candidate called out their bloated APK, the Freeletics engineering team took it as a wake-up call. They systematically analyzed their 63 MB app and discovered that 90% was resources, then got to work optimizing every asset type.
Key Takeaways
- Video optimization alone cut 10 MB by reducing bitrate from 3,235 kb/s to 735 kb/s
- Switched to vector drawables for icons and supported only 3 densities (hdpi, xhdpi, xxhdpi)
- Converted images to JPG and WebP formats, saving over 25 MB on drawables
- Built CI script to block PRs that exceed APK size threshold, preventing regression
- Final result: 63 MB reduced to 24 MB (62% smaller) without sacrificing quality
Through systematic resource optimization across video, audio, and images, the team reduced their APK from 63 MB to 24 MB while maintaining app quality.
About This Article
The Freeletics app had audio files that were way too large for what they actually did. Training notifications used stereo files at 256 kb/s and 44.1 kHz sampling rate, even though they only played briefly. Each file was 56.4 KB.
We worked with the content team to shrink the audio files. They converted everything to mono at 32 kb/s bitrate and 16 kHz sampling rate instead. File size dropped to 13.7 KB each, and the quality was still fine for short notification clips.
This audio optimization cut 4 MB from the APK size. It showed that when you match file specs to what you actually need, you can save real space.