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.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Apple condamnée à payer 110 millions pour un brevet sur la 3G

07:21

• 0


Soldes : -140 à -290 € sur l'iPad mini 7 Wi-Fi ou cellulaire

06:56

• 1


Passez à CarPlay sans fil pour moins de 20 €

01/07/2025 à 23:49

• 36


Une seconde bêta pour iOS 18.6 et macOS 15.6 🆕

01/07/2025 à 21:40

• 17


Air France teste l'utilisation des AirTags pour localiser un bagage égaré

01/07/2025 à 21:24

• 21


Les HomePod 2 menacés par des pannes du pavé tactile et de l’alimentation

01/07/2025 à 20:30

• 22


« F1 » en streaming sur Apple TV+ : octobre 2025 aux États-Unis, novembre 2026 en France

01/07/2025 à 17:59

• 38


iOS 26 : créez un rappel depuis Téléphone pour ne plus zapper de rappeler

01/07/2025 à 15:33

• 10


Soldes : l’iPad 10 de base à 299 €, la version 256 Go à 379 €

01/07/2025 à 14:32

• 7


Apple détaille des fonctions d'iOS et macOS 26 qui n'arriveront pas en Europe

01/07/2025 à 12:31

• 96


SFR distribue ses 100 Go offerts après sa panne nationale

01/07/2025 à 12:13

• 23


Promo : l’iPhone 16 à seulement 741,70 € (-228 €)

01/07/2025 à 09:23

• 8


Apple prévoit de mettre à jour automatiquement l’architecture de l’app Maison

01/07/2025 à 08:00

• 32


Apple envisage de remplacer le moteur de Siri par celui de ChatGPT ou Claude AI

01/07/2025 à 06:43

• 67


Apple aurait prévu de déplacer sa pomme au dos de l’iPhone 17 Pro

30/06/2025 à 21:07

• 39


MacBook : jusqu’où Apple ira-t-elle pour casser les prix ?

30/06/2025 à 19:49

• 13