Google is about to roll out a new technique known as "File-by-File patching", which can reduce the size of app updates from 65% by up to 90%. This will save the user's bandwidth, which is extremely good news for limited data plan users and for lower speed broadband connections as well.
The official announcement describing "File-by-File" patching states the following:
File-by-File is based on detecting changes in uncompressed data. To generate a patch, we first decompress both old and new files before computing the delta (we still use bsdiff here). Then to apply the patch, we decompress the old file, apply the delta to the uncompressed content and then recompress the new file. In doing so, we need to make sure that the APK on your device is a perfect match, byte for byte, to the one on the Play Store (see APK Signature Schema v2 for why).
Advertisеment
While app updates will be compressed so your device needs to download a smaller amount of data, it will require more CPU processing power on the user's device to unpack them and merge the deltas. According to Google, this won't be a problem for devices released after 2015 and won't cause any major delays for more than 1 second per megabyte. But for older phones and tablets, it can take significantly more time.
Because of this, Google has limited File-by-File patching to auto-updates only. Manual updating of apps won't benefit from this new compression on APKs.
The following table shows the comparison of update sizes with and without File-by-File patching.
The company has provided the source code on GitHub. via.
What do you think about this change? What is better for you - a smaller update size or a faster installation time?
Support us
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:
If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!
Advertisеment
Such a Great Content. Thanks a lot!