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

Comme prévu, Amazon bloque les apps d'IPTV sur les Fire TV Stick, même ceux sous Android

12:50

• 3


La Switch dépasse la DS et s’impose comme le plus grand succès de Nintendo

10:50

• 17


Allez-vous acheter des AirTags 2 ?

10:05

• 42


Tony Fadell rhabille Apple pour l'hiver (et lorgne sur le trône ?)

08:27

• 18


iTunes ne compte pas (encore) pour des prunes

07:16

• 38


Apple arrête de signer iOS 26.2 : le retour en arrière est bloqué

06:18

• 12


Free Mobile met en avant son forfait 2 € avec seulement 50 Mo… mais offre toujours le booster 1 Go

02/02/2026 à 21:42

• 8


Apple met à jour iOS 16, watchOS 6, macOS Catalina, macOS Big Sur et d'autres

02/02/2026 à 21:06

• 18


Une mini caméra embarquée connectée 2K avec GPS pour votre véhicule à moins de 60 € !

02/02/2026 à 21:00

• 0


Creator Studio : coup d’œil sur la nouvelle version iPad de Pixelmator Pro

02/02/2026 à 20:30

• 5


Position des boutons, couleurs… Des détails inédits et invérifiables sur l’iPhone Fold

02/02/2026 à 18:11

• 20


Safari : inutile de décocher cette option pour des défilements à 120 Hz sur les écrans ProMotion

02/02/2026 à 16:36

• 6


Le pass Navigo annuel arriverait finalement bien au mois de juin 2026 sur iPhone 🆕

02/02/2026 à 16:10

• 85


Dix semaines de retard pour Plans sur la mise à jour des transports en commun à Reims

02/02/2026 à 15:09

• 14


Après Apple Pay, le réseau CB investit Samsung Pay

02/02/2026 à 14:01

• 26


Ce youtubeur espagnol s’est créé un studio qui ressemble à un Apple Store

02/02/2026 à 12:15

• 24