Many Android device owners update their mobile apps only when they’re connected to a Wi-Fi network. This way, they won’t spend their limited data on downloading updates, particularly those that are large in size and can cause users to go over their plan limits. There’s nothing wrong with doing this, but things could soon change with the new method developed by Google, which aims to reduce the size of app updates that users download.
How it works
Before we discuss this new method, let’s first take a look at how apps are updated. Historically, when you update an app (or if Google does it automatically for you), the Play Store simply replaces your old app with its new version. This technique is easy, but it consumes a large amount of data since you’re essentially “re-downloading” the entire app.
Google aims to change this by using a new method called File-by-File patching. Through this, the Play Store first compares the APK of the update with the existing app APK in your device. Once it has identified the new and/or modified files, it will then download and install these files into your device.
Google Play software engineer Andrew Hayden says this is comparable to an author who wants to change a sentence in his soon-to-be-published book. Instead of resending the entire book, he simply informs his editor about the sentence he wants to alter and how it should be changed.
Does it really work?
Yes, it does. According to Hayden, File-by-File patching can help reduce the size of the APK to 65 percent of its original size. In some cases, it can even be 90 percent smaller! This is a huge improvement when compared with the bsdiff algorithm, which has been used by Google since July 2016 and can only reduce APK sizes by an average of 47 percent.
Hayden gave a few examples to illustrate how effective File-by-File patching can be. The Farm Heroes Super Saga game, for instance, has an update that’s 71.1 MB big. The bsdiff algorithm can reduce this to 13.4 MB (shaving off 81.1 percent from the original size), while File-by-File patching can further reduce it to 8.0 MB (shaving off 89 percent from the original size). A 52.4 MB Kindle update, on the other hand, can be reduced to 19.1 MB by the bsdiff algorithm and even to 8.4 MB by File-by-File patching.
What’s the catch?
File-by-File patching can greatly help in reducing data consumption when updating apps, but the trade off for this is that it requires more processing power to download updates. Devices released in 2015 and beyond can usually process one megabyte of APK recompression in less than two seconds, while older models and lower-end units take longer than that.
Because of this, Google has decided to apply File-by-File patching only to auto-updates, which take place in the background and usually at night when your device isn’t in use. It doesn’t work for interactive updates, i.e. those that you need to make manually.
You can learn more about File-by-File patching by checking out this post.