Optimisez la batterie de votre... Note

Optimisez la batterie de votre application grâce à la métrique de verrouillage d'éveil des Android vitals

La durée de vie de la batterie est cruciale pour l'expérience utilisateur, et les verrous d'activation ont un impact significatif sur celle-ci. L'utilisation excessive de verrous d'activation partiels est désormais un indicateur clé de performance dans les Statistiques Android de la Google Play Console. Cette métrique signale les applications qui détiennent des verrous d'activation non exemptés pendant au moins deux heures sur une période de 24 heures, affectant plus de 5 % des sessions pendant 28 jours. Les API initiées par l'audio, la localisation et JobScheduler sont exemptées de ce calcul.Un verrou d'activation permet à une application de maintenir le processeur de l'appareil en marche lorsqu'il n'est pas activement utilisé. Les verrous d'activation partiels maintiennent le processeur actif même lorsque l'écran est éteint, empêchant les états de faible consommation. Une utilisation inappropriée ou excessive des verrous d'activation entraîne une consommation importante de la batterie et des plaintes d'utilisateurs. Avant d'acquérir un verrou d'activation partiel manuel, envisagez des alternatives telles que la documentation "Garder l'écran allumé" ou les API existantes.Lors de l'acquisition manuelle de verrous d'activation, utilisez des noms de chaînes descriptifs et codés en dur, sans informations personnelles identifiables ni éléments dynamiques. Il est essentiel de toujours libérer les verrous d'activation acquis pour éviter la consommation de la batterie, en utilisant des blocs try-finally ou des délais d'attente. La réduction de la fréquence de réveil par des méthodes telles que WorkManager, la mise en lots de SensorManager ou l'optimisation de l'utilisation de Fused Location Provider peut également économiser la batterie.Le débogage des verrous d'activation excessifs commence par la Play Console, qui détaille les noms des verrous d'activation et les sessions affectées. Pour les verrous d'activation détenus par des workers, utilisez l'inspecteur de tâches en arrière-plan d'Android Studio ou WorkInfo.getStopReason() pour le débogage sur le terrain. Pour les autres types de verrous d'activation, la collecte de traces système à l'aide d'outils en ligne de commande, du profileur Android Studio ou de Perfetto UI est recommandée. L'activation de la catégorie "power:PowerManagement" d'Atrace est essentielle pour visualiser les données pertinentes dans les traces système.Perfetto UI permet une inspection visuelle des tranches de verrous d'activation sur une chronologie, et l'analyse SQL peut identifier efficacement les principaux contributeurs à une utilisation excessive sur plusieurs traces. Pour les problèmes difficiles à reproduire, ProfilingManager (SDK 35+) offre un contrôle programmatique sur la collecte de traces système sur le terrain. Comprendre et implémenter correctement les verrous d'activation, adhérer aux meilleures pratiques et utiliser les outils de débogage sont essentiels pour optimiser les performances de la batterie de l'application.