The new update method called File-by-File-patching, licensed under open source Apache License, is now able to make app updates 65% smaller on average and in some cases even more than 90% smaller.
The way the new method works is basically thus: upon executing an update, the new version of the app along with the old version are being decompressed from the zipped state they’re in (Android apps are zipped as APK files) therefore allowing for a comparison to be made. Upon detecting a difference, a change is made only to that portion of the old file. Once the comparison ends the file is then re-compressed and the update is applied.
As Android developers put it:
“Imagine you are an author of a book about to be published, and wish to change a single sentence – it’s much easier to tell the editor which sentence to change and what to change, rather than send an entirely new book.”
In a world where cellular companies charge customers according to data usage, this means not only greater downloading speed but also greater savings.
Don’t Get Excited Yet
As wonderful as this news sounds, unfortunately not everyone will be able to enjoy it and there are some drawbacks as well.
For instance users who avoid using Google Play for the various reasons they may have, privacy concerns for example, will not be able to make use of the new approach at the moment.
That is, at least until other app providers, F-Droid comes to mind, may take advantage of the open source license the new approach is licensed under and start distribute their updates using File-by-File Patching too.
As for the drawbacks; you have to bear in mind that File-by-File Patching is actually a trade off between faster downloading and processing power. According to Android developers’ research, modern devices, e.g from 2015 and on, are the ones to make the most out of F-b-F patching due to their processing power. Other devices might experience slower updates overall due to being a bit weaker when it comes to processing.
Taking the above point into account, the use of F-b-F patching is therefore limited for auto-updates only at the moment, i.e updates that take place in the background.
Nevertheless, this “policy” will probably change in the future as more and more devices will become more powerful.