Ouvrir le menu principal

iGeneration

Recherche

Google économise la DATA en réduisant à fond le poids des mises à jour sur Android

Florian Innocente

jeudi 08 décembre 2016 à 14:15 • 15

Android

Google a mis au point un nouveau mécanisme pour réduire encore plus la taille des mises à jour qu'il envoie vers les smartphones Android. Un procédé gagnant-gagnant : c'est moins de données à faire transiter depuis ses serveurs et le destinataire récupère plus vite sa mise à jour, laquelle ponctionne moins son forfait s'il n'est pas en Wi-Fi.

Avec "l'App Slicing", annoncé pour iOS 9, Apple avait élaboré un système équivalent, du moins dans l'intention. Après un faux départ, il a été réinstauré sur l'App Store (documentation développeurs). Il s'agit d'envoyer vers l'utilisateur des mises à jour dont le contenu est optimisé pour son appareil iOS (pas besoin des images d'un iPad si l'on a un iPhone, par exemple). Cependant, si l'on constate bien des écarts sensibles entre le poids d'une app annoncée sur l'App Store et ses mises à jour disponibles, la différence n'est pas toujours aussi importante que celle obtenue par Google.

C'est un paradoxe, alors que l'on parle d'applications mobiles, celles-ci n'ont plus rien de légères. Word sur iOS pèse pas moins de 482 Mo et une autre telle que Dropbox n'a rien d'un poids plume non plus avec ses 132 Mo. Des dizaines de milliards d'apps et de jeux sont téléchargés sur Google Play, rappelle Andrew Hayden, un ingénieur de Google, dans un billet. D'où l'impérieuse nécessité de limiter le poids de ces transferts.

Cet été, Google a utilisé l'algorithme bsdiff pour réduire en moyenne de 47 % la taille d'une mise à jour, comparé au poids total de l'app. Un cran supplémentaire a été atteint après l'adoption d'une nouvelle méthode dite du File-by-File patching.

En moyenne, une mise à jour peut maintenant voir son poids réduit de 65 %, voire de 90 % dans le meilleur des cas. Cela se traduit par une économie journalière de 6 pétaoctets, soit 6 000 To qui n'auront plus à être acheminés vers les utilisateurs.

Les applications Android sont des fichiers APK, qui eux-même sont à la base des archives ZIP d'un genre particulier. C'est l'algorithme Deflate qui est le plus souvent utilisé pour compresser ces contenus. Il a un défaut, si l'on modifie ne serait-ce qu'une infime partie du fichier original (par exemple des fautes corrigées dans l'interface), sa recompression va produire un résultat très différent du précédent. Il sera fort compliqué de comparer deux versions compressées d'une même app pour trouver ce qui a changé à l'intérieur.

Imaginez que vous soyez l'auteur d'un livre sur le point d'être publié, et que vous souhaitiez y changer une seule phrase - il est beaucoup plus simple de dire à votre éditeur laquelle doit être modifiée et de quelle manière plutôt que de lui renvoyer le livre complet modifié.

Le File-by-File patching fait cela, il consiste à envoyer vers le terminal de l'utilisateur un petit fichier qui contient les changements ainsi que l'endroit où les appliquer.

Côté serveur, Google va donc décompresser l'ancienne version de l'app et la nouvelle, puis générer le fichier qui liste les différences dans leur code respectif. Ce fichier est compressé puis envoyé vers le téléphone. L'ancienne version de l'app qui y est installée ainsi que ce fichier sont décompressés, cette mise à jour est appliquée et l'app est recompressée.

Sur un jeu comme Farm Heroes Super Saga qui pèse 71 Mo, la précédente méthode donnait une mise à jour de 13,4 Mo alors que la nouvelle descend jusqu'à 8 Mo.

Cliquer pour agrandir

Côté pile, la mise à jour envoyée est beaucoup plus compacte coté face, ce travail de décompression/recompression sur le téléphone prend plus de temps. Sur un smartphone de 2015, il faut compter un peu plus d'une seconde par méga-octet et cela augmentera sur des modèles moins récents ou peu puissants.

En gros, explique Andrew Hayden, pour une mise à jour dont la taille a été divisée par deux, le temps de traitement pour son application est doublé. Par conséquent, Google limite pour le moment l'emploi de cette technique aux mises à jour envoyées automatiquement, pendant la nuit. De manière à éviter qu'un utilisateur qui a demandé manuellement une mise à jour ne trouve pas le temps trop long. Reste que les résultats sont spectaculaires au vu des quelques exemples choisis.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Apple, bientôt 50 ans… Partagez vos souvenirs !

12:03

• 71


Test de la Power Strip 4 Gen4 de Shelly : enfin une multiprise avec mesure électrique prise par prise

09:00

• 16


On a testé la traduction en direct des AirPods : vraiment utile pour franchir la barrière de la langue ?

07:53

• 37


Sécurité : Apple comble deux failles « zero-day » avec iOS 26.2 et macOS 26.2

07:46

• 34


De nombreuses coques iPhone en promotion, avec 20 % de réduction et plus

07:25

• 4


watchOS 26.2 apporte la compatibilité avec le réseau Free Mobile

07:10

• 36


Promos : les caméras de surveillance reviennent à leur prix du Black Friday

07:00

• 16


Une build interne d’iOS 26 dévoile les plans d’Apple jusqu’à iOS 27

12/12/2025 à 22:30

• 9


watchOS 26.2 est disponible avec un score de sommeil qui n’est plus dans la lune

12/12/2025 à 21:38

• 15


Les dessous de la plainte de X contre Apple et OpenAI sortent au grand jour

12/12/2025 à 21:15

• 10


iOS 26.2 disponible en version finale : toutes les nouveautés de cette mise à jour pas si anodine

12/12/2025 à 19:35

• 61


Non, Apple ne produit pas des iPhone sans appareils photo

12/12/2025 à 18:30

• 26


Apple Pay toujours contesté : les banques suisses veulent une ouverture de l’iPhone identique à celle de l’UE

12/12/2025 à 17:58

• 20


Orange active les messages satellites sur les Pixel de Google

12/12/2025 à 17:25

• 2


Un boîtier open source pour sauvegarder un iPhone sur une carte microSD

12/12/2025 à 14:45

• 22


Hue : le Bridge Pro peut désormais migrer les appareils depuis deux Bridge d’ancienne génération

12/12/2025 à 12:45

• 19