Skip to main content

How to reduce Mobile App size?

Ethereal3 min read
On this page
  1. Choose the Right Architecture
  2. Optimize Images and Assets
  3. Remove Unused Dependencies
  4. Enable Code Shrinking and Obfuscation
  5. Use App Bundles and Dynamic Delivery
  6. Split by CPU Architecture
  7. Download Content On Demand
  8. Optimize Fonts
  9. Reduce Localization Resources
  10. Compress Media Files
  11. Use Lightweight Alternatives
  12. Optimize JavaScript Bundles (React Native)
  13. Optimize Flutter Applications
  14. Optimize Native Libraries
  15. Analyze Build Size Regularly

Reducing app size is important for faster downloads, lower uninstall rates, better conversion from app stores, and improved performance on low-storage devices.

Here are the key areas developers should focus on:

Choose the Right Architecture

  • Avoid adding unnecessary frameworks or SDKs.
  • Prefer modular architecture so only required features are included.
  • Separate optional features into downloadable modules when possible.

Optimize Images and Assets

  • Use modern image formats such as WebP or AVIF instead of PNG or JPEG.
  • Compress images before adding them to the project.
  • Remove unused icons, illustrations, and splash screen assets.
  • Use vector assets where possible instead of multiple bitmap sizes.

Remove Unused Dependencies

  • Audit third-party libraries regularly.
  • Avoid importing entire libraries when only a small portion is needed.
  • Replace heavy SDKs with lightweight alternatives if possible.

Example:

  • Using a full analytics suite for basic event tracking can add several MB to the app size.

Enable Code Shrinking and Obfuscation

Android

  • Enable R8 or ProGuard.
  • Remove unused classes and methods automatically.

iOS

  • Enable dead code stripping.
  • Remove unused architectures from release builds.

Use App Bundles and Dynamic Delivery

For Android:

  • Use the Android App Bundle format instead of APK.
  • Users download only resources required for their device architecture and language.

Split by CPU Architecture

Instead of shipping one package containing:

  • ARM64
  • ARMv7
  • x86
  • x86_64

Deliver only the architecture required by the user’s device.

Download Content On Demand

Avoid bundling:

  • Tutorial videos
  • Large animations
  • Product catalogs
  • Game resources

Download these after installation or when first required.

Optimize Fonts

  • Use only required font weights.
  • Prefer system fonts where possible.
  • Subset custom fonts to include only required characters.

Reduce Localization Resources

  • Include only target languages initially.
  • Download additional languages on demand if needed.

Compress Media Files

  • Compress videos aggressively.
  • Use streaming for video content instead of bundling files.
  • Convert audio to efficient formats such as AAC or Opus.

Use Lightweight Alternatives

Examples:

  • Replace GIF animations with Lottie animations.
  • Replace large SVG libraries with optimized vector assets.

Optimize JavaScript Bundles (React Native)

  • Enable Hermes engine.
  • Remove unused npm packages.
  • Enable minification in production builds.
  • Use inline requires where applicable.

Optimize Flutter Applications

  • Build with --split-per-abi.
  • Use flutter build appbundle instead of APK.
  • Remove unused assets from pubspec.yaml.
  • Use tree shaking for icons:flutter build appbundle --tree-shake-icons

Optimize Native Libraries

Native .so libraries are often among the biggest contributors to app size.

  • Remove unused ABIs.
  • Avoid bundling debugging symbols in production.
  • Use stripped release binaries.

Analyze Build Size Regularly

Use platform tools:

  • Android Studio APK Analyzer
  • Flutter DevTools Size Analysis
  • Xcode App Size Report


For most startup apps, the biggest wins usually come from:

  1. Removing unnecessary SDKs.
  2. Using App Bundles instead of APKs.
  3. Optimizing images and fonts.
  4. Enabling code shrinking.
  5. Using dynamic feature delivery for rarely used modules.

If you mobile app size is larger as you expected, Consult with our Team

Building something like this?

Leave your details and we will come back within 48 hours with scope, timeline and a fixed price.

No obligation. See our Privacy Policy.

Found This Helpful?

If you're ready to build, we're ready to quote. Free discovery call, fixed price.