Oversized Assets
iOSIndividual 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.