Optimise Because Performance Matters
Article Summary
Saurabh Arora from Viki cut their Android app's memory footprint by 27% while preparing for the Next Billion Users. His team's optimization work landed them as an Android GO launch partner.
As Viki prepared their streaming platform for emerging markets and Android GO, they tackled three critical areas: memory consumption, data usage, and APK size. Using Android Studio 3.0's new profilers, they identified and eliminated performance bottlenecks across their entire app.
Key Takeaways
- Memory reduced 27% on low-end devices by optimizing bitmaps and placeholders
- APK size dropped 25% using TinyPNG compression and resConfig stripping
- Server-side image resizing with density buckets maintained CDN cache hits
- Storing only current language translations (not all 20+) freed significant memory
- ConstraintLayout flattened view hierarchies, reducing RecyclerView memory overhead
Strategic optimization across images, translations, and view hierarchies delivered 18-27% memory reduction and 25% smaller APK size, earning Viki an Android GO launch partnership.
About This Article
Viki's Android app was loading placeholder images across 20+ home page views. Even though the same placeholder was reused, this caused rapid memory buildup. Low-memory devices suffered severe performance problems from the redundant asset loading.
Saurabh Arora's team added isLowRamDevice() detection to the app. On constrained devices, it serves single-color placeholders. Higher-end devices still get full-resolution placeholders.
The placeholder optimization reduced memory usage by 14% on low-memory devices. This was part of a larger effort that achieved 27% total memory reduction.