WhollySoftware
Back to blogMobile

Reducing App Binary Size Without Cutting Features

Wholly Software TeamJuly 17, 20256 min read
Reducing App Binary Size Without Cutting Features

A client's Android app had grown to 180MB, and Play Store data showed a clear correlation between install size and drop-off during download on cellular connections — users abandoning an install that was taking too long or eating too much data. We treated binary size as a performance metric worth its own sprint, the same way we'd treat load time, rather than an afterthought.

App Bundles instead of a universal APK were the single biggest win on Android, cutting the actual download size for most users from 180MB to about 95MB by letting Google Play serve only the resources and native libraries matching a given device's architecture and screen density, instead of shipping every variant to everyone.

Duplicate and unused resources were the next target. A dependency audit found three separate image-loading libraries pulled in transitively by different third-party SDKs, each bundling its own native decoding libraries. Consolidating on one, Coil in this case, and excluding the redundant native libs via packaging options removed about 8MB on its own.

On iOS, On-Demand Resources let us move a large tutorial video asset and a set of rarely-used seasonal UI themes out of the initial download, fetched only when a user actually reaches that part of the app. Combined with App Thinning-optimized builds and stripping unused asset catalog entries left over from three years of redesigns, we brought the iOS download size down from 210MB to about 130MB.

We also caught unused code contributing real weight — a dead A/B testing SDK from an experiment the client had abandoned 18 months earlier was still bundled and linked, adding both size and a background network call nobody remembered was happening. Total combined size reduction across both platforms landed at 42%, and Play Store's own install-conversion metrics showed a measurable uptick within the following release cycle.

PerformanceiOSAndroidApp Size
Reducing App Binary Size Without Cutting Features — Wholly Software