21.7 · App size: thinning, on-demand resources and the binary

App size is a performance metric with a business effect: it changes download time, how many people install over cellular, and how much room you take on the device. What the user downloads is not what you upload.

Mental model. You ship a universal archive; the App Store delivers a slice. Reduce what is in the slice, and move what is not needed immediately out of it.

What the user downloads

Slicing, on-demand resources and Background Assets, plus the bitcode history.

  1. What is app thinning, how do on-demand resources and Background Assets reduce install size, and what happened to bitcode? 21.7.1 · L3
    App thinning is the App Store delivering a tailored variant of your app instead of the full archive. Slicing creates a variant for each device class: only the…

Shrinking the binary

Where the bytes come from and how to cut them.

  1. Where does binary size come from, how do you measure and shrink it, and what do optimisation level, stripping and linking change? 21.7.2 · L5
    Measure before you cut. The App Thinning Size Report gives the per-device download and install sizes, a link map (enable Write Link Map File) lists which…

More in Performance & energy