Data: we all want to have more of it and use less of it. With the relatively high cost of mobile data and the relatively slow speed of many people’s home internet data usage can be an issue from either a Bandwidth cap or speed perspective. Google has been working on reducing the size of app updates to assist with this problem.
A few months ago Google announced a new method/algorithm to decrease the size of downloads. Today they have announced File-by-File updates that further reduces app update sizes.
I’ll spare you the techno mumbo jumbo, if you want that follow the link at the bottom, but basically Google will dynamically assess the .apk you have installed on your device and then only send through the specific updates required to update the changed files. This means that the file sent will only contain the changes to specific files and not the entire package.
You can see the sort of size improvements this results in below.
Previous (BSDiff) Patch Size
(% vs original)
File-by-File Patch Size (% vs original)
13.4 MB (-81%)
8.0 MB (-89%)
17.5 MB (-46%)
9.6 MB (-71%)
7.6 MB (-57%)
7.3 MB (-59%)
17.2 MB (-9%)
13.1 MB (-31%)
19.1 MB (-64%)
8.4 MB (-84%)
7.7 MB (-52%)
1.2 MB (-92%)
All of this goodness does come at a cost: processing time. This new method offloads a lot of work to the mobile processor on your device to make the necessary assessments and adjustments. While most newer phones can apparently chew through about 1mb a second. So for larger updates that’s a few second of time, CPU cycles and battery life, on older or lower tier devices those costs would increase.
To alleviate this for now, only automatic updates, done in the background, will use the new method. The updates will take place at night typically when people aren’t using their devices and they are charging. This should eliminate any potential performance issues with this method.
If you manually initiate an update you will not get the new reduced package size, or the longer processing time, at least for now.