Regardez cette scène courante : vous quittez la maison avec la batterie du smartphone à 100%, passez quelques appels, accédez à Twitter, écoutez quelques minutes de musique et, avant la fin de la journée, la charge atteint 0%. Cela a une explication, au moins sur Android : selon des chercheurs de l’université de Purdue, une fonction du système permet aux applications de continuer à effectuer des tâches lourdes même lorsque le smartphone est en mode veille.
Selon Y. Charlie Hu, professeur de génie électrique et de génie informatique à l’université, comme l’autonomie de la batterie est un facteur critique pour les smartphones, l’industrie a adopté une politique de veille agressive. En pratique, les composants des smartphones, tels que les processeurs, sont en mode veille lorsqu’il n’y a pas d’interaction de l’utilisateur, comme par exemple faire sonner l’écran ? c’est-à-dire environ 99% du temps.
Le problème de cette politique est que certaines applications, comme les clients de messagerie, doivent exécuter des commandes en arrière-plan et utiliser pour cela les API Android. Certains d’entre eux, cependant, ne reviennent pas en mode veille lorsque l’utilisateur cesse d’interagir avec le smartphone, ce qui provoque un problème appelé “no-sleep energy bug”.
“Une batterie de smartphone complètement chargée peut être vidée en moins de cinq heures”, explique le professeur. La panne n’affecte pas quelques applications : les chercheurs ont étudié le comportement de 187 applications Android avec des API de contrôle de puissance, appelées “wakelocks”. 42 d’entre eux avaient des défauts, selon un outil propriétaire qui analyse le code binaire et détecte le problème avec précision. Les chercheurs n’ont pas divulgué la liste des applications comportant des erreurs de programmation.
Lorsque votre smartphone s’éteindra par manque de batterie la prochaine fois, rappelez-vous que les développeurs ne sont que des êtres humains et que la faute peut être imputable à une application gloutonne installée sur le système. Ou des applications avec des annonces.