Optimizing Mobile App Build Size

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
Optimizing Mobile App Build Size
Medium
~2-3 business days
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    445

Optimizing Mobile App Size

App size directly impacts install conversion: Google data shows ~1% conversion drop per additional MB on slow internet devices. Android sets 200 MB default download limit without Wi-Fi. iOS App Store warns when downloading over 200 MB on cellular. These aren't abstract metrics — they're real install barriers.

Android: AAB and Play Feature Delivery

Switch from APK to AAB (Android App Bundle) — first and easiest step. Google Play dynamically builds optimized APK for each device: only needed ABI (arm64-v8a, x86_64), only needed density resources (xxhdpi for xxhdpi devices). Typical savings — 20-40% from universal APK size.

If project still builds APK without AAB — this technical debt needs closing first.

R8 and ProGuard. R8 enabled by default in release builds with AGP 3.4+. But minifyEnabled true and shrinkResources true in buildTypes.release must be checked explicitly — legacy projects often have them disabled "to avoid breaking". Full ProGuard gives 30-50% code size reduction.

After enabling minification, must: test release build (not debug), add rules to proguard-rules.pro for reflection-heavy libraries (Gson, Retrofit, Room migrations), Crashlytics with mapping.txt for readable stacktraces.

Resources. webp instead of PNG/JPEG for all raster images except cases where transparency with artifacts is unacceptable. Android Studio supports conversion right from IDE. Vector drawables instead of PNG for icons and simple graphics — vector size 1-3 KB vs 50-200 KB PNG set for different densities.

Unused resources: shrinkResources true removes unused resources automatically. But resources connected dynamically via Resources.getIdentifier() may be incorrectly removed — need keep.xml file.

Native libraries (.so). If project includes NDK libraries, verify ABI list: abiFilters 'arm64-v8a', 'x86_64' for production. armeabi-v7a only if supporting pre-2014 devices. Each extra ABI — copy of all .so files.

iOS: App Thinning and Bitcode

App Store automatically applies App Thinning: different build variants for different devices (2x/3x assets, arm64 only for modern devices). In Xcode Organizer → App Size Report you can see build size for specific device types.

Assets.xcassets. Images must be there, not in bundle directly — only then Asset Catalog Compiler and App Thinning work. WebP supported from iOS 14. PDF for vector assets in Asset Catalog — convenient, but Xcode rasterizes them at build time, no real size advantages. SVG via UIGraphicsImageRenderer or SwiftUI Image with systemName for SF Symbols.

On-Demand Resources. For apps with large content (games, education) — break resources into tags and load on demand. Initial download size minimal, resources pulled as progressing.

Duplicate dependencies. CocoaPods and Swift Package Manager can include one library twice in different versions. otool -L on binary or analysis via bloaty shows real contribution of each framework.

Dependency Audit — Often Yields Greater Effect

Simplest way to shrink size — remove unused dependencies. SDK connected "just in case", SDK where one function remained — candidates for removal.

Dependency Type Typical Size Contribution
Ad SDKs (AdMob, IronSource) 3-8 MB
ML libraries (TensorFlow Lite, Core ML models) 5-50 MB
Analytics (Firebase, Amplitude) 1-3 MB
Maps (Google Maps SDK) 8-15 MB

Firebase can be connected modularly — only needed components, without pod 'Firebase' pulling everything.

Optimization timeline: three to seven business days — dependency audit and build configuration, implementing changes, measuring result.