In a post on the Android Developers Blog, Google has introduced a new method of packaging app updates in the form of file-by-file patching. According to Google, “File-by-File therefore is based on detecting changes in the 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.”
However Google notes that this method can be slower as it will require extra processing. They have estimated that recompression can take about 1 second per megabyte on modern day devices (2015 onwards), and longer on older devices. Also they have estimated that if the patch size has been halved, the time spent applying the patch is doubled.
This is why for now Google says that file-by-file patching will only apply to auto-updates, as in updates that take place automatically in the background. The idea is that this means users won’t have to wait while the update is taking place, like when it’s at night and their phones are plugged in and charging while they are asleep.