Les informations d'utilisation de la batterie sont dérivées des statistiques d'utilisation de la batterie et des valeurs du profil de puissance.
Statistiques d'utilisation de la batterie
Le cadre détermine automatiquement les statistiques d'utilisation de la batterie en suivant la durée pendant laquelle les composants de l'appareil passent dans différents états. Au fur et à mesure que les composants (chipset Wi-Fi, radio cellulaire, Bluetooth, GPS, écran, CPU) changent d'état (OFF/ON, inactif/pleine puissance, luminosité faible/élevée, etc.), le service de contrôle rend compte au service de cadre BatteryStats. BatteryStats collecte des informations au fil du temps et les stocke pour les utiliser lors des redémarrages. Le service ne suit pas directement la consommation de courant de la batterie, mais collecte à la place des informations de synchronisation qui peuvent être utilisées pour estimer la consommation de la batterie par différents composants.
Le framework collecte des statistiques à l'aide des méthodes suivantes :
- Poussez . Les services conscients des changements de composants transmettent les changements d'état au service BatteryStats.
- Tirez . Pour les composants tels que l'utilisation du processeur par les applications, le framework extrait automatiquement les données aux points de transition (comme le démarrage ou l'arrêt d'une activité) pour prendre un instantané.
La consommation de ressources est associée à l'application utilisant la ressource. Lorsque plusieurs applications utilisent simultanément une ressource (comme les wakelocks qui empêchent le système de se suspendre), le framework répartit la consommation entre ces applications, mais pas nécessairement de manière égale.
Pour éviter de perdre les statistiques d'utilisation pour un événement d'arrêt, qui peut indiquer des problèmes de consommation d'énergie de la batterie (c'est-à-dire que l'arrêt se produit parce que la batterie a atteint la capacité restante de zéro), le framework fait clignoter les statistiques environ toutes les 30 minutes.
Les statistiques d'utilisation de la batterie sont entièrement gérées par le framework et ne nécessitent pas de modifications OEM.
Valeurs du profil de puissance
Attention : Les fabricants d'appareils doivent fournir un profil de puissance de composant qui définit la valeur de consommation de courant pour le composant et l'épuisement approximatif de la batterie causé par le composant au fil du temps. Ce profil est défini dans platform/frameworks/base/core/res/res/xml/power_profile.xml . Pour obtenir des conseils sur ces paramètres, consultez Valeurs de puissance .
Dans un profil de puissance, la consommation électrique est spécifiée en milliampères (mA) de consommation de courant à une tension nominale et peut être une valeur fractionnaire spécifiée en microampères (uA). La valeur doit être le mA consommé au niveau de la batterie et non une valeur applicable à un rail d'alimentation qui ne correspond pas au courant consommé par la batterie.
Par exemple, un profil de puissance d'affichage spécifie le mA de courant requis pour maintenir l'affichage allumé à une luminosité minimale et à une luminosité maximale. Pour déterminer le coût énergétique (c'est-à-dire la batterie épuisée par le composant d'affichage) pour maintenir l'affichage allumé, le cadre suit le temps passé à chaque niveau de luminosité, puis multiplie ces intervalles de temps par un coût de luminosité d'affichage interpolé.
Le framework multiplie également le temps CPU pour chaque application par le mA requis pour faire fonctionner le CPU à une vitesse spécifique. Ce calcul établit un classement comparatif de la quantité de batterie consommée par une application en exécutant du code CPU (le temps pendant lequel l'application de premier plan et le temps total, y compris l'activité d'arrière-plan, sont signalés séparément).
,Les informations d'utilisation de la batterie sont dérivées des statistiques d'utilisation de la batterie et des valeurs du profil de puissance.
Statistiques d'utilisation de la batterie
Le cadre détermine automatiquement les statistiques d'utilisation de la batterie en suivant la durée pendant laquelle les composants de l'appareil passent dans différents états. Au fur et à mesure que les composants (chipset Wi-Fi, radio cellulaire, Bluetooth, GPS, écran, CPU) changent d'état (OFF/ON, inactif/pleine puissance, luminosité faible/élevée, etc.), le service de contrôle rend compte au service de cadre BatteryStats. BatteryStats collecte des informations au fil du temps et les stocke pour les utiliser lors des redémarrages. Le service ne suit pas directement la consommation de courant de la batterie, mais collecte à la place des informations de synchronisation qui peuvent être utilisées pour estimer la consommation de la batterie par différents composants.
Le framework collecte des statistiques à l'aide des méthodes suivantes :
- Poussez . Les services conscients des changements de composants transmettent les changements d'état au service BatteryStats.
- Tirez . Pour les composants tels que l'utilisation du processeur par les applications, le framework extrait automatiquement les données aux points de transition (comme le démarrage ou l'arrêt d'une activité) pour prendre un instantané.
La consommation de ressources est associée à l'application utilisant la ressource. Lorsque plusieurs applications utilisent simultanément une ressource (comme les wakelocks qui empêchent le système de se suspendre), le framework répartit la consommation entre ces applications, mais pas nécessairement de manière égale.
Pour éviter de perdre les statistiques d'utilisation pour un événement d'arrêt, qui peut indiquer des problèmes de consommation d'énergie de la batterie (c'est-à-dire que l'arrêt se produit parce que la batterie a atteint la capacité restante de zéro), le framework fait clignoter les statistiques environ toutes les 30 minutes.
Les statistiques d'utilisation de la batterie sont entièrement gérées par le framework et ne nécessitent pas de modifications OEM.
Valeurs du profil de puissance
Attention : Les fabricants d'appareils doivent fournir un profil de puissance de composant qui définit la valeur de consommation de courant pour le composant et l'épuisement approximatif de la batterie causé par le composant au fil du temps. Ce profil est défini dans platform/frameworks/base/core/res/res/xml/power_profile.xml . Pour obtenir des conseils sur ces paramètres, consultez Valeurs de puissance .
Dans un profil de puissance, la consommation électrique est spécifiée en milliampères (mA) de consommation de courant à une tension nominale et peut être une valeur fractionnaire spécifiée en microampères (uA). La valeur doit être le mA consommé au niveau de la batterie et non une valeur applicable à un rail d'alimentation qui ne correspond pas au courant consommé par la batterie.
Par exemple, un profil de puissance d'affichage spécifie le mA de courant requis pour maintenir l'affichage allumé à une luminosité minimale et à une luminosité maximale. Pour déterminer le coût énergétique (c'est-à-dire la batterie épuisée par le composant d'affichage) pour maintenir l'affichage allumé, le cadre suit le temps passé à chaque niveau de luminosité, puis multiplie ces intervalles de temps par un coût de luminosité d'affichage interpolé.
Le framework multiplie également le temps CPU pour chaque application par le mA requis pour faire fonctionner le CPU à une vitesse spécifique. Ce calcul établit un classement comparatif de la quantité de batterie consommée par une application en exécutant du code CPU (le temps pendant lequel l'application de premier plan et le temps total, y compris l'activité d'arrière-plan, sont signalés séparément).