Oversized Assets

iOS

Individual files over 1 MB that could be compressed, resized, or delivered on demand. Covers images, audio, video, data files, and ML models.

Individual assets exceeding 1 MB in the app bundle that could be compressed, resized, or delivered more efficiently. Common culprits include high-resolution images, uncompressed audio, embedded videos, large data files, and ML models.


Why this happens

  • Unoptimized background images or splash screens as PNG at @3x resolution.

  • Audio files shipped as WAV or at unnecessarily high bitrates.

  • Embedded videos at default H.264 bitrate instead of HEVC.

  • Animated GIFs using frame-by-frame raster animation instead of vector formats like Lottie.

  • CoreML models with Float32 weights that could be quantized.

  • Large JSON data files shipped uncompressed.


Size impact

iOS prompts users when apps exceed 200 MB over cellular. Every 6 MB increase correlates with a 1% decrease in install conversion rate (for apps under 100 MB). 25% of potential users skip downloads if device storage is insufficient.

MEGA app

935 MB to 297 MB (68% reduction) via asset optimization

Apple WWDC19 demo

24.6 MB to 14.9 MB (40%) via HEIC + Asset Catalogs

Animated GIF to Lottie

Up to 3,000x smaller

CoreML Float32 to Int8

4x reduction (Int4: 8x)


How we detect it

Scans all asset catalogs (.car files and .xcassets) and identifies individual assets exceeding 1 MB.


How to fix

1

Optimize images

Convert to HEIC (50% smaller than JPEG) or use Asset Catalog lossy compression. Use pngquant for lossy PNG compression (up to 60% reduction). Remove unnecessary alpha channels.

2

Optimize audio

Convert WAV to AAC: speech at 64-96 kbps mono, music at 128-192 kbps stereo. Use IMA4 for short sound effects. Never ship WAV in production.

3

Optimize video

Use HEVC (H.265) instead of H.264 for 25-50% better compression. Replace animated GIFs with Lottie animations. Stream anything over 15-30 seconds via HLS instead of bundling.

4

Optimize data files

Compress large JSON with gzip (70-80% reduction). Use Protocol Buffers or FlatBuffers instead of JSON. Use SQLite instead of large JSON datasets.

5

Optimize ML models

Quantize from Float32 to Int8 (4x reduction) or Int4 (8x). Apply palettization and pruning. Use Background Assets (iOS 16.1+) for on-demand model delivery.

6

Use On-Demand Resources

Move large optional data to On-Demand Resources or Background Assets (iOS 16.1+) so they are downloaded only when needed.


Powered by Bitrise, trusted by 8,500+ brands

Size Analyzer is built by Bitrise, the leading mobile DevOps platform used by over 400,000 developers at companies like Shopify, TripAdvisor, and BuzzFeed. Free forever. No signup required.

Bitrise provides a full-stack mobile DevOps solution that unites the tools, processes, and testing frameworks engineering teams need to ship best-in-class mobile experiences.

Bitrise logo