Way back in the day, app updates in Google Play would be the whole new APK. That changed back in 2012, and Google has been working to reduce the size of updates ever since. In its most recent triumph, the Google Play team has devised a system to reduce app update sizes by an average of 65%, but it won't be used all the time.

Android APKs are essentially ZIP archives with a number of special conventions. The contents of such archives are compressed using a technology called Deflate. That makes the archive smaller, but it also makes it very difficult to identify changes from one version to the next. Even a small change can make the compressed archive look completely different. The new approach is called file-by-file patching, and it makes it possible to find the changes and integrate them with the APK on your device.

As an example, Google listed several recent updates for popular apps to show how much data is saved with file-by-file patching.

File-by-file patching is based on comparing the uncompressed new and old archives. Google identifies the changes, applies the delta to your device's uncompressed archive, then re-compresses it. Finally, it checks to make sure the patched APK matches the version Google has on the Play Store. The main drawback with file-by-file patching is that your phone has to re-compress the APK, which can take a while on older or slower devices. Google says anything from 2015 or later can handle one megabyte per second. So, reducing the patch size by half tends to double the time spent patching.

Because these patches can take longer, Google has opted to only use file-by-file patching for background auto-updates right now. So, your Play Store client may end up using a lot less data. It won't necessarily be faster at updating, though.

Source: Android Developers