Selon une étude menée par Google, la première source de frustration sur les smartphones concerne l’autonomie des terminaux, où plus d’un utilisateur sur trois s’en attriste. Au fil des années les capacités des batteries n’ont cessé de croître, sans pour autant que l’autonomie suive la même courbe. Les terminaux sont en effet de plus en plus sophistiqués et font désormais place à des écrans à très haute définition, des processeurs surpuissants… De son côté Android ne cesse d’évoluer pour enrichir son écosystème et les Play Services apportent une quantité impressionnante de nouvelles fonctionnalités, y compris aux anciennes versions d’Android.
Android existe depuis 2007 et pourtant l’autonomie n’est toujours pas son point fort. Du côté de la concurrence, iOS s’en sort probablement mieux pour ce qui est de la veille. En revanche, les deux systèmes font peu ou prou jeu égal à utilisation similaire. Google essaie d’enrayer le problème sur les deux fronts depuis plusieurs années déjà. Voici quelques exemples qui montrent que depuis Android 5.0 (Lollipop), c’est une véritable sujet de fond pour la multinationale de Mountain View.
Android 5.0 : l’arrivée des « Job Schedulers »
Sur Android Lollipop, de nombreux utilisateurs ont été frustrés de ne pas connaître un gain d’autonomie spectaculaire. Google avait peut-être survendu sa solution de l’époque qui était pourtant intéressante. Jusqu’alors dès qu’une tâche avait besoin de s’exécuter, elle réveillait alors le terminal. Or ce type d’opération est très coûteux, notamment en ce qui concerne la pile réseau. En effet, dès que l’antenne du téléphone est allumée, elle mettra de longues secondes avant de repasser en veille.
L’idée d’Android 5.0 est de permettre aux tâches de s’exécuter par groupes, de telle sorte à éviter les réveils incessants. C’est par ailleurs le système qui a désormais la main sur ces réveils et non plus chaque application de son côté.
Android 6.0 : Doze, doz…, do…, d…
En passant sur Marshmallow, Google a fait le même constat que ses utilisateurs : l’autonomie en veille était exécrable. Il suffisait de laisser allumé son téléphone ou sa tablette la nuit et elle perdait alors une quantité importante de batterie, sans pour autant avoir interagit avec. Comme indiqué sur Android 5.0, n’importe quelle application pouvait décider de réveiller le téléphone. L’idée de Doze est d’opter pour une stratégie agressive de gestion des différents composants.
Depuis Marshmallow, dès que votre terminal passe en veille pendant de longues minutes, le système rentre dans un état de sommeil profond où il ne se réveille qu’à des intervalles de plus en plus espacés. Vous avez probablement remarqué que dès qu’un terminal se réveille après un sommeil profond, il se mettait à recevoir une quantité impressionnante de notifications.
C’est grâce à la fonctionnalité nommée Doze que cela est rendu possible. Rassurez-vous toutefois, les événements urgents tels que les réveils ou les appels peuvent contourner ce mécanisme. Par ailleurs, des optimisations sont réalisées sur les applications en arrière-plan dès que le terminal n’est plus alimenté par le secteur.
Android 7.0 : Doze on the go
Doze offre une économie notable de batterie lorsque le terminal est en veille depuis plusieurs minutes/heures. Les smartphones ne sont que peu concernés par cette fonctionnalité, puisque les utilisateurs ont tendance à réveiller très régulièrement leur téléphone. Sur Android Nougat, Doze est amélioré pour que ce cas de figure soit pris en compte. Désormais Doze rentre en fonction dès que l’écran est éteint et que le smartphone s’aperçoit être dans un état adéquat (dans une poche par exemple).
En plus de Doze on the go, Google a commencé un travail de fond sur l’amélioration de l’autonomie : le projet Svelte. Depuis ses toutes premières versions, Android envoie régulièrement des messages indiquants des changements d’état : une photo a été prise, le secteur est débranché, le téléphone sort de veille… Les différentes applications peuvent s’inscrire pour recevoir un message en particulier et ainsi exécuter un comportement pertinent lorsqu’elles ne sont pas visibles au premier plan. C’est de cette manière que les fonctions de type Instant Uploads fonctionnent. Sur Android N, il n’est plus possible pour les tâches d’arrière-plan de s’abonner directement à certains de ces messages, notamment en ce qui concerne la prise de photos ou le changement de connectivité (WiFi, mode avion, réseau mobile…).
A la place, Google fournit un mécanisme proposant le même résultat aux utilisateurs. Le principe est d’utiliser un canal de communication dont le système est maître (les fameux JobScheduler d’Android 5.0). La notification aux applications ne sera envoyée que lorsque l’OS l’aura décidé. Derrière cette décision, les optimisations sont nombreuses : beaucoup moins de mémoire vive consommée et une fluidité accrue au rendez-vous. La raison est simple : jusqu’à présent Android essayait de délivrer le message aux différentes applications en même temps. Chacune dans son coin exécutait son bout de code, sans toutefois se préoccuper des lenteurs remarquées par les utilisateurs.
Android O aura la peau des services en tâche de fond
Android est un système qui se montre très souple. Il est par exemple possible d’exécuter du code sans pour autant que l’application ne soit visible pour l’utilisateur. Cela commence à agacer Google qui a identifié ces services comme consommateurs de batterie. En effet, ils ont tendance à vouloir trop souvent accéder aux capteurs et ne pas permettre une mise à veille des dits composants. Sur Android O, le mot d’ordre est simple : ces fameux services seront bridés afin que l’autonomie puisse s’améliorer. Un casse tête pour les développeurs, mais une différence notable pour les utilisateurs.
Android O : c’est la fin de l’open bar
Sur Android O, le mécanisme visant à limiter le nombre de messages système ouverts à tous se réduit considérablement. Alors qu’il n’y en avait qu’une poignée sur Android Nougat, Google a passé à la moulinette tous les messages qui pouvaient être optimisés. La modification devrait être perceptible pour les utilisateurs autant au niveau de la fluidité, que de la consommation mémoire.
Dans un langage plus technique, Google ne permet plus aux services ou plus généralement aux tâches en arrière-plan d’intercepter les broadcasts implicites. Il ne sera possible de s’inscrire qu’aux broadcasts explicites et certains broadcasts implicites (le terminal a démarré, a changé de langue…).
En revanche, les applications au premier plan pourront toujours librement accéder à ces messages, même si l’intérêt est moindre. Enfin Android va se montrer plus agressif avec les services tournant en tâche de fond. L’idée de Google est d’inciter au maximum l’utilisation des JobSchedulers qui sont appelés au moment le plus opportun par le système.
Android O : des coordonnées GPS toujours aussi précises, mais moins régulières
Pour obtenir la position d’un terminal, il existe de nombreux capteurs : le GPS, le WiFi, la puce réseau… Ces composants sont de véritables gouffres à batterie lorsque les conditions ne sont pas optimales (sous un tunnel ou dans un bâtiment notamment).
Sur Android O, les applications qui s’exécutent en tâche de fond sont dans le viseur de Google. Sur ces dernières, les positions GPS seront envoyées moins régulièrement (quelques fois par heure uniquement) afin que la batterie soit moins sollicitée, mais les données resteront toujours aussi exactes. En revanche, les applications qui sont visibles par l’utilisateur (au premier plan, ou via un notification) continueront de recevoir les positions au même rythme que sur Android 7.1. Concrètement vous ne devriez voir aucun changement au quotidien, si ce n’est une autonomie améliorée.
En même temps, le fused provider (agrégat des différents capteurs) sera optimisé ; Google incite d’ailleurs les développeurs à le privilégier pour obtenir la position de l’utilisateur. Enfin le mécanisme dit de geofencing (savoir lorsqu’un téléphone rentre dans une zone définie) est beaucoup moins consommateur qu’auparavant. Google parle d’économies de l’ordre 10 fois moins. Mais bonne nouvelle, cela concerne également les précédentes versions d’Android !
Android O : plus de GPS en WiFi
Par ailleurs, dès que vous serez connectés à un point d’accès WiFi, les capteurs de géolocalisation ne seront plus utilisés. En effet l’adresse IP du hotspot fournit déjà une position. Si elle est pertinente, Android ne tentera pas d’obtenir des coordonnées GPS similaires.
Android O : un écran de gestion de la batterie plus compréhensible
L’écran de gestion de la batterie dans les Paramètres est très utile, puisqu’il permet d’identifier quelle application ou composant système se révèle être consommateur de batterie. Ce système a été amélioré au fur et à mesure des versions, mais qui est capable aujourd’hui de savoir ce à quoi correspond réellement les « Play Services”, l’écran ou encore le “système Android” ?
Sur Android O, l’accent est porté sur la compréhension des données pour tous et non pour les concepteurs d’applications ou du terminal. C’est ainsi qu’il sera plus facile de distinguer quelles applications consomment le plus au premier plan et en tâche de fond.
L’optimisation de l’autonomie d’un système d’exploitation est un véritable casse tête pour son créateur, puisqu’il consiste à fournir des fonctionnalités équivalentes, tout en essayant de grapiller ça-et-là des précieuses secondes des batteries.
Rejoignez-nous de 17 à 19h, un jeudi sur deux, pour l’émission UNLOCK produite par Frandroid et Numerama ! Actus tech, interviews, astuces et analyses… On se retrouve en direct sur Twitch ou en rediffusion sur YouTube !
Petit vécu aussi, mon S5 en IceCreamSandwich (4) au moment de l'achat (du 2800mAh) qui tenait très bien. Au bout de 2,5 ans il faiblit énormément (surtout la nuit je ne pouvais plus le laisser allumer), je passe à Marshmallow (6) et Doze et là la délivrance je reviens à une autonomie décente. Comme quoi ça marche
[…] Lire la suite sur www.frandroid.com… […]
Cela vient il d'Android ou du matériel ? Surtout quand tu compares l'optimisation matériel entre un G3 et un S8
[…] Lire la suite sur www.frandroid.com… […]
Il y a 2 ans sur mon LG G3, javais une batterie de 3000mAh et je faisais 3h30 de Screen-On Time en moyenne. Et c'était super pour l'époque Sur mon Galaxy S8 cette année, j'ai une batterie de 3000mAh et j'ai 7 à 8h de SOT Rien ne change ?
Je l'aurai pas malheureusement (support maj Nexus 5X jusqu'à Septembre 2017) ?
T'inquiète pas, Android P sera mieux que O :)
Google gagne des dollars avec la pub.. C'est sa principale source de revenus. Maintenant, sur le fond, je suis d'accord avec toi.
Au minimum la version finale, et encore... ^^ ;)
Autonomie theoriquement améliorée a chaque version, mais moindre en pratique. O ne changera rien....
Je le sais parfaitement que Google ne fabrique pas les composants, mais c'est tout de même lui qui concevait les Nexus et qui conçoit encore les Google Pixel et c'est sur cette base qu'il conçoit ses firmwares ! Et le résultat n'est clairement pas brillant... ^^
Encore du bon gros baratin made in google, et quid de l'autonomie l'écran allumé ? parce que perso, que mon phone pompe 1 ou 3% la nuit je m'en bas les steaks et ça va franchement pas arranger l'autonomie, c'est plutôt l'inverse. Un exemple tout bête, une radio internet, entre google et les fabricants qui en rajoutent une couche, il n'est quasiment plus possible d'écouter la radio écran éteint sur certains modèle et au final une bête application consomme 2 fois plus que ça ne le devrait... Je suis obligé de modifier le système pour court-circuiter leur conneries, je consomme moins de batterie en faisant sauter leur sécurités alacon qu'en les laissant en place, elle est ou l'évolution positive ? Mébon, il est plus important d'avoir un smarphone de 4mm d'épaisseur qui consomme un poil moins en veille qu'un autre un peu plus épais qui dure plus longtemps en utilisation réelle... pis on peut pas gaver les gens de pubs quand l'écran est veille, c'est du gachi pour google, son but est que l'utilisateur l'allume le plus souvent possible. Ce n'est pas pour rien toutes ces versions qui sortent tous les ans, c'est juste pour s'assurer que le pigeon number One (dit aussi le jeune) ne se lasse pas d'allumer son écran pour le gaver de pub. Ecore une fois, google décide ce qui est utile ou non de son unique point de vue.
Google ne fabrique pas de composant électronique non plus... c'est sur que si tu prends un wiko avec des composants énergivore et un système codé avec les pieds ça va pas donner pareil. Sur le premier slim de wiko, rien qu'en recompilant toi même le kernel avec une simple modification du code tu étais pas loin de gagner 50% d'autonomie en plus.
C'est tout de même incroyable que Google n'arrive pas au même niveau ou à faire mieux que Samsung qui arrive à proposer une excellente autonomie depuis plusieurs années et avec des versions plus anciennes d'Android... O_o
Il serait temps que tu découvres que Huawei/Honor se fout de la gueule de ses clients !!!
Paye ton marronnier :o)
Quand je vois encore des nouveaux téléphones qui sortent en version Marshmallow...je sais pas, je dirais qu'il y a quelques claques dans la figure qui se perdent.
Vivement qu'on est la MAJ android O lors de l'annonce de Android P :-)
[…] Lire la suite sur www.frandroid.com… […]
Perso, j'ai la beta 2 de Android O sur mon Nexus 5X et la batterie est moins bien que la 7.1.2... peut être attendre la dp3 ou la version stable ?
[…] Lire la suite sur www.frandroid.com… […]
Les promesses de la baisse de l'autonomie sur Android c'est comme le chômage, chaque année on y croit mais au final rien ne change.
Oui, ils font des efforts. La consommations sur Android c'est un véritablr marronnier: on en parle à chaque version, mais les apps sont tellement gourmandes et sophistiquées que ça ne se ressent pas énormément. La faute en revient aussi à Google et ses Google Play Services qui, de temps en temps, déconnent complètement: vendredi dernier sur mon S7, sans raison apparente, ils m'ont consommé 50 % de batterie en moins de deux heures. Je m'en suis rendu compte car le tél était chaud dans ma poche ! J'ai redémarré et j'ai vu que le Google Play avait été mis à jour.
Très bon article. Bien vu de la part de Google, bien fait pour Uber qui me géolocalise à plein temps, ca fait tellement mal à la batterie que je force son arrêt. Par contre, faudrait que Google arrête d'insister pour activer l'historique des positions, car ça consomme tellement aussi
Ils ont l'air de faire des efforts mais reste à voir ce que ça va donner. Il faut aussi que les constructeurs mettent du sien, par exemple mon Honor 8 ne peut plus passer en mode 720p depuis Nougat et ça Honor s'en contre fichent, il y a rien pour rétablir ça (alors que sur Marshmallow ça fonctionnait très bien)
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