The Google Play store supports (since Aug 2012) a new feature called Smart App Updates, that allows downloading only the necessary “delta” when upgrading an app.
I have found no documentation for developers regarding this feature, thus I don’t know how to optimize my app to make sure it benefits from this great mechanism.
So, does anyone know:
- What are the technical impacts (if any) that would be good to know for the developers?
(I suppose a new, full-size APK is built on the user’s device, or maybe the unchanged data is stored somewhere else?) - Is the reutilization of unchanged data from the previous versions limited to certain resources? (like files in the
assetfolder)
Step by step:
old application version and the new one. This is done on the server
side. This computed difference is usually referred to as a
patch file.
Currently, patch size is 25% of the new application version size (on average). Thus, you get 75% traffic saving on average. The trade off is that you have to do more computations on the end device to deploy the received patch, depending on the delta encoding technique. GDIFF is extremely simple, and has minimal overhead. The difference is computed between APK packages (all information in the APK is used). As was mentioned, developers don’t need to do anything to benefit from this new feature.