Des fois sujet de mécontentement des utilisateurs, la mise à jour continuelle des applications sur Android peut avoir un certain coût en termes de stockage sur votre téléphone, ainsi que sur votre forfait mobile, si vous n’avez pas une enveloppe data importante. Google avait déjà annoncé une réduction de la taille des mises à jour d’application en juillet dernier, mais aujourd’hui, Google va beaucoup plus loin, avec une nouvelle méthode de mise à jour, fichier par fichier.
Des réductions de la taille des mises à jour jusqu’à 90 %
Avant de plonger dans les différentes techniques qui permettent à Google de proposer des mises à jour bien plus légères, on peut déjà constater que sur un ensemble d’applications, l’économie de données est substantielle, comme illustrée ci-dessous.
Ainsi, on peut constater que face à la taille originale de la mise à jour, la réduction est impressionnante puisqu’on peut passer de 71,1 Mo à 13,4 Mo avec la méthode utilisée cet été jusqu’à 8 Mo avec la nouvelle méthode ! Selon les calculs de Google, cette nouvelle méthode permettrait même d’économiser 6 Pétaoctets de données par jour au niveau mondial pour les utilisateurs. Pour comparaison, 6 Pétaoctets, cela représente 6000 disques durs de 1 Téraoctet, tel qu’on peut trouver par exemple sur la Playstation 4 Pro.
Une réduction possible du fait de changement dans la signature des APK
Cette réduction du poids des mises à jour est dû à la combinaison de plusieurs techniques. Comme expliqué dans un post sur le blog officiel d’Android, Google à d’abord mise en place l’algorithme BSDiff qui permettait déjà une réduction du poids des mises à jour, mais a voulu aller plus loin.
Pour aller plus loin, et introduire des mises à jour plus incrémentales, il fallait avoir un moyen de contrôler parfaitement les applications, afin de s’assurer de l’intégrité de l’APK téléchargée sur votre smartphone. C’est précisément pour cela qu’avec l’arrivée du SDK pour Android 7.0 Nougat, Google a mis en place une nouvelle méthode de signature des applications. Disponible dans Android Studio, L’APK Signature Scheme v2 permet ainsi de remplir ce rôle nécessaire au bon fonctionnement de ce nouvel algorithme de mise à jour fichier par fichier.
Une méthode plus coûteuse en puissance, utilisée seulement au repos
Google indique cependant que cette nouvelle méthode impliquant également l’utilisation de l’algorithme de compression Deflate demande bien plus de puissance. En effet, pour une mise à jour deux fois moins importante en taille, la mise à jour prendre deux fois plus de temps à effectuer sur des smartphones « modernes » (Google ne fournit pas plus détails sur ce point, se contentant d’indiquer qu’il s’agit de smartphones de 2015.).
Afin donc de contourner ce point, cette nouvelle méthode ne sera donc pour le moment uniquement utilisée quand votre smartphone est au repos et branché sur le secteur.
D’ores et déjà déployé, disponible en Open Source
Cette méthode est d’ores et déjà en utilisation sur le Play Store, et Google indique que ce projet est Open Source. Ainsi, si vous êtes développeur et que vous souhaitez en savoir plus, il vous suffira de vous rendre sur la page Github du projet.
Notre émission Twitch SURVOLTÉS, c’est un mercredi sur deux de 17h à 19h : retrouvez-vous nous pour parler voiture électrique ou vélo électrique, autour de débats, d’interviews, d’analyses et de jeux !
<blockquote>Selon les calculs de Google, cette nouvelle méthode permettrait même d’économiser 6 Pétaoctets de données par jour au niveau mondial pour les utilisateurs.</blockquote> Et pour Google également ! La bande-passante, c'est pas gratuit…
Je ne suis pas tout à fait convaincu… Pour être installable sur un téléphone en Android 6 ou plus ancien, un APK doit utiliser le signature scheme v1 (les deux sont utilisables en complément l'un de l'autre). Cette mise à jour fichier par fichier a l'air d'être entièrement dépendante du signature scheme v2… et donc inutilisable avec le signature scheme v1, non ?
J'ai cru remarquer cela récemment et c'est vrai que c'est un bon point !
Non, c'est une fonctionnalité introduite dans le SDK d'Android 7.0 Nougat. Mais bien évidemment, le SDK permet de développer des applications pour différentes versions d'Android ! Edit : ce n'était effectivement pas forcément très clair, c'est donc mis à jour :)
Cela ne fonctionne donc qu'avec Nougat ?
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix