Our Android App Has Been Eating but Shedding Weight
Article Summary
Zomato's Android app was 23MB to download and hogging up to 700MB of cache. Their platform team decided to put it on a diet while still shipping new features.
The Zomato engineering team shares how they reduced their Android app's footprint over several months without freezing feature development. They tackled download size, cache bloat, and bandwidth consumption simultaneously.
Key Takeaways
- Cut download size from 23MB to 15MB using App Bundles (22% reduction)
- Limited cache to 120MB max by removing zombie temp files
- Reduced homepage bandwidth by 60-70% with dynamic image sizing
- Deleted 300,000 lines of code and removed 4 unused libraries
- Converted PNGs to WebP (10x smaller for blurred backgrounds)
Zomato reduced their Android app download size by 35% and slashed cache from 700MB to 120MB while continuing to ship features like Zomato Premier League.
About This Article
Zomato's Android app was downloading all PNG images at 675×675 pixels, no matter what device or screen density users had. This wasted a lot of bandwidth for people scrolling through restaurant listings.
The team built dynamic image sizing that figures out the exact pixel dimensions each device needs based on its screen density, then downloads only that version.
The ordering homepage now uses 60-70% less bandwidth when scrolling. Users can browse restaurants without worrying about eating through their data plan.