Google has announced that it has rolled a new delta algorithm, bsdiff, to reduce Android app update size up to 50% or more compared to the previous algorithm. “Bsdiff is specifically targeted to produce more efficient deltas of native libraries by taking advantage of the specific ways in which compiled native code changes between versions,” said Google in their developers blog.
bsdiff produces binary patches 50-80% smaller than those produced by Xdelta, and 15% smaller than those produced by .RTPatch. Here is an example from Google to show the size difference before and after the Bsdiff algorithm.
Patch Description | Previous patch size | Bsdiff Size |
M46 to M47 major update | 22.8 MB | 12.9 MB |
M47 minor update | 15.3 MB | 3.6 MB |
Google has also expanded delta and compression algorithms so that developers can apply the algorithm to APK Expansion Files (up to 2GB in size) to further reduce update size in addition to APKs. According to Google, this will reduce the download size of initial installs by 12%, and updates by 65% on average.
Google will now show actual download sizes, not the APK file size, in the Play Store. If the app is already installed, it will only show the update size. These new changes are currently rolling out.