Informasi penggunaan baterai diperoleh dari statistik penggunaan baterai dan nilai profil daya.
Statistik penggunaan baterai
Kerangka kerja ini secara otomatis menentukan statistik penggunaan baterai dengan melacak berapa lama komponen perangkat menghabiskan waktu di berbagai kondisi. Saat komponen (chipset Wi-Fi, radio seluler, Bluetooth, GPS, layar, CPU) berubah status (MATI/HIDUP, siaga/daya penuh, kecerahan rendah/tinggi, dll.), layanan pengontrol melaporkan ke layanan kerangka BatteryStats. BatteryStats mengumpulkan informasi dari waktu ke waktu dan menyimpannya untuk digunakan saat reboot. Layanan ini tidak melacak penggunaan arus baterai secara langsung, namun mengumpulkan informasi waktu yang dapat digunakan untuk memperkirakan konsumsi baterai oleh berbagai komponen.
Kerangka kerja ini mengumpulkan statistik menggunakan metode berikut:
- Dorongan . Layanan yang mengetahui perubahan komponen mendorong perubahan status ke layanan BatteryStats.
- Menarik . Untuk komponen seperti penggunaan CPU oleh aplikasi, framework secara otomatis menarik data pada titik transisi (seperti memulai atau menghentikan aktivitas) untuk mengambil snapshot.
Konsumsi sumber daya dikaitkan dengan aplikasi yang menggunakan sumber daya. Ketika beberapa aplikasi secara bersamaan menggunakan sumber daya (seperti wakelock yang mencegah penangguhan sistem), kerangka kerja menyebarkan konsumsi ke seluruh aplikasi tersebut, meskipun tidak harus sama.
Untuk menghindari hilangnya statistik penggunaan saat terjadi pemadaman, yang mungkin mengindikasikan masalah konsumsi daya baterai (yaitu pemadaman terjadi karena sisa kapasitas baterai mencapai nol), kerangka kerja menampilkan statistik kira-kira setiap 30 menit.
Statistik penggunaan baterai ditangani sepenuhnya oleh kerangka kerja dan tidak memerlukan modifikasi OEM.
Nilai profil kekuatan
Perhatian: Produsen perangkat harus menyediakan profil daya komponen yang menentukan nilai konsumsi saat ini untuk komponen tersebut dan perkiraan pengurasan baterai yang disebabkan oleh komponen tersebut dari waktu ke waktu. Profil ini didefinisikan dalam platform/frameworks/base/core/res/res/xml/power_profile.xml . Untuk panduan mengenai pengaturan ini, lihat Nilai Daya .
Dalam profil daya, konsumsi daya ditentukan dalam miliampere (mA) dari penarikan arus pada tegangan nominal dan dapat berupa nilai pecahan yang ditentukan dalam mikroamp (uA). Nilainya harus berupa mA yang dikonsumsi oleh baterai dan bukan nilai yang berlaku untuk power rail yang tidak sesuai dengan arus yang dikonsumsi dari baterai.
Misalnya, profil daya tampilan menentukan mA arus yang diperlukan untuk menjaga tampilan tetap menyala pada kecerahan minimum dan kecerahan maksimum. Untuk menentukan biaya daya (yaitu baterai yang terkuras oleh komponen layar) agar layar tetap menyala, kerangka kerja melacak waktu yang dihabiskan pada setiap tingkat kecerahan, lalu mengalikan interval waktu tersebut dengan biaya kecerahan layar yang diinterpolasi.
Kerangka kerja ini juga mengalikan waktu CPU untuk setiap aplikasi dengan mA yang diperlukan untuk menjalankan CPU pada kecepatan tertentu. Perhitungan ini menetapkan peringkat komparatif mengenai berapa banyak baterai yang dikonsumsi aplikasi dengan mengeksekusi kode CPU (waktu sebagai aplikasi latar depan dan total waktu termasuk aktivitas latar belakang dilaporkan secara terpisah).