Android 13 introduit le concept de suivi de la consommation d'énergie, qui est un processus qui surveille l'utilisation de la batterie par les applications en premier plan ou en arrière-plan pour déterminer si elles enfreignent certaines règles. Android 13 contient deux outils de suivi de la consommation d'énergie : le traceur de service de premier plan et le traceur d'utilisation de la batterie en arrière-plan. Au lieu d'utiliser vos propres mécanismes pour déterminer l'utilisation abusive de la batterie par les applications, nous vous recommandons d'utiliser ces outils de suivi pour surveiller et alerter les utilisateurs en cas d'utilisation excessive de la batterie.
Outil de suivi de service au premier plan
Les services de premier plan peuvent fonctionner et utiliser la batterie pendant une période prolongée. Le traceur de service de premier plan affiche une notification aux utilisateurs lorsqu'un service de premier plan est en cours d'exécution depuis une longue période, mais qu'il est invisible, par exemple lorsqu'un utilisateur a ignoré la notification du service. Si l'utilisateur clique sur la notification, le gestionnaire de tâches s'affiche et lui permet d'arrêter le service de premier plan. Ce traceur est activé par défaut.
Suivi de l'utilisation de la batterie en arrière-plan
Les applications peuvent vider la batterie en arrière-plan à l'insu de l'utilisateur. L'outil de suivi de la batterie en arrière-plan surveille l'utilisation de la batterie pour chaque application. Dans ce contexte, l'utilisation de la batterie est définie par trois dimensions: l'application au premier plan en haut, le service de premier plan exécutant quelque chose qui n'est pas visible et une partie en arrière-plan de l'application. Si l'utilisation de la batterie en arrière-plan dépasse un certain seuil, l'application est déplacée dans un bucket restreint qui la limite à une tâche par jour. Cet outil de suivi est désactivé par défaut. Pour activer ce traceur, exécutez les commandes suivantes :
adb shell device_config put activity_manager bg_auto_restrict_abusive_apps 1
adb shell device_config put activity_manager bg_current_drain_auto_restrict_abusive_apps_enabled 1