Si la pierre philosophale ne sera pas inventée demain, le mouvement perpétuel existe presque en revanche. Il suffit de regarder le nombre de mises à jour d’applications disponibles sur votre smartphone pour en être convaincu. Vous aurez beau appliquer toutes les mises à jour quotidiennement, le lendemain, tout est à recommencer.
Mis bout à bout, ce sont plusieurs centaines de mégaoctets que vous téléchargez chaque jour depuis le Store applicatif de votre smartphone. Une consommation de bande passante qui compte double, car elle pèse de votre côté et de celui du kiosque de téléchargement.
Des mises à jour plus petites pour moins de bande passante
Voilà pourquoi Google vient d’introduire une nouvelle méthode pour la mise à jour des applications sur son Play Store, sans que les développeurs aient quoi que ce soit à faire en plus. Elle repose sur un système de mise à jour des applications fichier par fichier. Autrement dit, seuls les fichiers modifiés au sein du programme seront téléchargés. Google annonce que cela permet d’obtenir des patches 65% plus petits que l’application elle-même. Dans certains cas, ce procédé permet de proposer un téléchargement qui ne représente que 10% du poids total de l’application. Pour mémoire, en juillet dernier, Google avait annoncé adopter un autre algorithme pour réduire la taille des mises à jour d’applications.
Exemple de modification minime à gauche qui a une grosse incidence sur l’élément compressé, à droite
Compresser et décompresser
Pour réussir ce changement, Google a dû résoudre un problème technique. Les applications Android sont empaquetées sous la forme d’un fichier APK, qui est « un fichier Zip avec des conventions spéciales ». Un choix qui permet de compresser les données grâce à algorithme appelé Deflate. Or, cette technique empêche de facilement identifier les modifications dans un fichier original qui a été compressé.
Ainsi, explique Google sur son blog, changer un simple mot dans texte modifie en profondeur l’aspect global du fichier compressé.
La technologie de mise à jour fichier par fichier utilise donc un système qui détecte les changements dans les données non compressées. Avant de générer une mise à jour, la méthode de Google consiste à décompresser le vieux et le nouveau fichier, ce dernier contenant les données modifiées. Ensuite, un jeu des différences est réalisé. Ensuite, « pour appliquer le patch, commente Google, nous décompressons le vieux fichier, nous lui appliquons la différence au fichier décompressé et alors nous recompressons le nouveau fichier ».
Un petit prix à payer
Evidemment, tout en réalisant ces étapes, le smartphone doit s’assurer que l’APK qu’il héberge est parfaitement identique, « octet par octet », à celui hébergé par le Play Store. Cette précaution nécessaire implique hélas un surcroît de puissance. Google indique que sur les appareils récents (datant de 2015, par exemple), la recompression peut prendre un peu plus d’une seconde par Mo. Sur des appareils plus anciens, et donc moins puissants, la procédure prend plus de temps. Ainsi, le post indique que, « en moyenne, si la taille du patch est divisée par deux alors le temps d’application du patch est doublé ».
Une contrepartie qu’il faut être prêt à payer pour limiter la consommation de bande passante. Pour éviter que les utilisateurs aient à attendre que la mise à jour s’applique et pour ne pas les gêner, en ralentissant le fonctionnement du smartphone, la technique du fichier par fichier est limitée, pour l’heure, aux mises à jour automatiques qui sont appliquées en tâche de fond. Ainsi, tout se passe par exemple la nuit pendant que vous dormez quand votre smartphone est en train de recharger.
Source :
Blog des développeurs d’Android
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.