Pour la presque totalité des mises à jour d'applications Android depuis le Google Play Store, des algorithmes delta permettent de réduire leur taille dans la mesure où seulement les changements dans les fichiers APK sont téléchargés et fusionnés avec les fichiers existants.

Rappelons qu'un fichier APK (Android Package) est en fait un ensemble de fichiers - un paquet - d'une application pour Android dans un format compressé. Essentiellement, une archive ZIP avec une technologie de compression Deflate.

Google-Play La cure d'amaigrissement a été accentuée plus tôt cette année avec l'implémentation de l'algorithme delta BSDiff. En moyenne, il permet de diminuer de 47 % la taille d'un fichier APK complet. Google vient d'annoncer une nouvelle méthode de mise à jour qui réduit la taille de 65 % en moyenne, voire 90 % dans certains cas.

Un exemple donné est celui de l'application Netflix avec une taille initiale de 16,2 Mo. Avec BSDiff, la taille passe à 7,7 Mo. Elle est réduite à 1,2 Mo avec l'approche baptisée File-by-File patching. Pour l'application Google Maps, la réduction de la taille de l'application est de l'ordre de 71 %.

Le File-by-File est basé sur la détection de changements dans des données non compressées. " Pour générer un patch, nous décompressons d'abord les anciens et nouveaux fichiers ", souligne un ingénieur logiciel pour le Google Play qui précise que bsdiff est ainsi toujours utilisé.

" Pour appliquer le patch, nous décompressons l'ancien fichier, appliquons les changements dans le contenu non compressé, puis nous recompressons le nouveau fichier. […] Nous devons nous assurer que l'APK sur votre appareil a une correspondance parfaite à celui sur le Play Store. "

Le principal inconvénient du File-by-File patching est que l'appareil Android doit recompresser l'APK. Sur des appareils dits modernes, soit depuis 2015, l'opération prendrait un peu plus d'une seconde par mégaoctet.

Avec un déploiement qui a débuté, et sans rien faire pour les développeurs, le choix du File-by-File patching a été fait pour seulement les mises à jour automatiques en arrière-plan pour le moment. Microsoft s'intéresse aussi aux mises à jour différentielles pour les grosses builds de Windows 10 avec l'Unified Update Platform.