Informasi penggunaan baterai diperoleh dari statistik penggunaan baterai dan nilai profil daya.
Statistik penggunaan baterai
Kerangka kerja secara otomatis menentukan statistik penggunaan baterai dengan melacak berapa lama komponen perangkat dihabiskan di negara bagian yang berbeda. Saat komponen (chipset Wi-Fi, radio seluler, Bluetooth, GPS, tampilan, CPU) mengubah status (OFF/ON, idle/daya penuh, kecerahan rendah/tinggi, dll.), layanan pengontrol melaporkan ke layanan BatteryStats framework. BatteryStats mengumpulkan informasi dari waktu ke waktu dan menyimpannya untuk digunakan di seluruh reboot. Layanan ini tidak melacak penarikan arus baterai secara langsung, tetapi mengumpulkan informasi waktu yang dapat digunakan untuk memperkirakan konsumsi baterai oleh komponen yang berbeda.
Kerangka kerja mengumpulkan statistik menggunakan metode berikut:
- Dorong . Layanan yang mengetahui perubahan komponen mendorong perubahan status ke layanan BatteryStats.
- Tarik . Untuk komponen seperti CPU yang digunakan oleh aplikasi, kerangka kerja 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 wakelocks yang mencegah sistem dari menangguhkan), kerangka kerja menyebarkan konsumsi di aplikasi tersebut, meskipun tidak harus sama.
Untuk menghindari hilangnya statistik penggunaan untuk peristiwa shutdown, yang mungkin menunjukkan masalah konsumsi daya baterai (yaitu shutdown terjadi karena baterai mencapai kapasitas yang tersisa nol), statistik kerangka berkedip kira-kira setiap 30 menit.
Statistik penggunaan baterai ditangani sepenuhnya oleh kerangka kerja dan tidak memerlukan modifikasi OEM.
Nilai profil daya
Perhatian: Produsen perangkat harus menyediakan profil daya komponen yang menentukan nilai konsumsi saat ini untuk komponen dan perkiraan pengurasan baterai yang disebabkan oleh komponen dari waktu ke waktu. Profil ini didefinisikan dalam platform/frameworks/base/core/res/res/xml/power_profile.xml . Untuk panduan tentang pengaturan ini, lihat Nilai Daya .
Dalam profil daya, konsumsi daya ditentukan dalam miliamp (mA) penarikan arus pada tegangan nominal dan dapat berupa nilai pecahan yang ditentukan dalam mikroamp (uA). Nilainya harus mA yang dikonsumsi pada baterai dan bukan nilai yang berlaku untuk rel daya yang tidak sesuai dengan arus yang dikonsumsi dari baterai.
Misalnya, profil daya tampilan menentukan arus mA yang diperlukan untuk menjaga tampilan tetap menyala pada kecerahan minimum dan kecerahan maksimum. Untuk menentukan biaya daya (yaitu baterai yang terkuras oleh komponen tampilan) untuk menjaga tampilan tetap menyala, kerangka kerja melacak waktu yang dihabiskan pada setiap tingkat kecerahan, kemudian mengalikan interval waktu tersebut dengan biaya kecerahan tampilan yang diinterpolasi.
Kerangka kerja juga mengalikan waktu CPU untuk setiap aplikasi dengan mA yang diperlukan untuk menjalankan CPU pada kecepatan tertentu. Perhitungan ini menetapkan peringkat komparatif berapa banyak baterai yang digunakan aplikasi dengan mengeksekusi kode CPU (waktu sebagai aplikasi latar depan dan total waktu termasuk aktivitas latar belakang dilaporkan secara terpisah).
,Informasi penggunaan baterai diperoleh dari statistik penggunaan baterai dan nilai profil daya.
Statistik penggunaan baterai
Kerangka kerja secara otomatis menentukan statistik penggunaan baterai dengan melacak berapa lama komponen perangkat dihabiskan di negara bagian yang berbeda. Saat komponen (chipset Wi-Fi, radio seluler, Bluetooth, GPS, tampilan, CPU) mengubah status (OFF/ON, idle/daya penuh, kecerahan rendah/tinggi, dll.), layanan pengontrol melaporkan ke layanan BatteryStats framework. BatteryStats mengumpulkan informasi dari waktu ke waktu dan menyimpannya untuk digunakan di seluruh reboot. Layanan ini tidak melacak penarikan arus baterai secara langsung, tetapi mengumpulkan informasi waktu yang dapat digunakan untuk memperkirakan konsumsi baterai oleh komponen yang berbeda.
Kerangka kerja mengumpulkan statistik menggunakan metode berikut:
- Dorong . Layanan yang mengetahui perubahan komponen mendorong perubahan status ke layanan BatteryStats.
- Tarik . Untuk komponen seperti CPU yang digunakan oleh aplikasi, kerangka kerja 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 wakelocks yang mencegah sistem dari menangguhkan), kerangka kerja menyebarkan konsumsi di aplikasi tersebut, meskipun tidak harus sama.
Untuk menghindari hilangnya statistik penggunaan untuk peristiwa shutdown, yang mungkin menunjukkan masalah konsumsi daya baterai (yaitu shutdown terjadi karena baterai mencapai kapasitas yang tersisa nol), statistik kerangka berkedip kira-kira setiap 30 menit.
Statistik penggunaan baterai ditangani sepenuhnya oleh kerangka kerja dan tidak memerlukan modifikasi OEM.
Nilai profil daya
Perhatian: Produsen perangkat harus menyediakan profil daya komponen yang menentukan nilai konsumsi saat ini untuk komponen dan perkiraan pengurasan baterai yang disebabkan oleh komponen dari waktu ke waktu. Profil ini didefinisikan dalam platform/frameworks/base/core/res/res/xml/power_profile.xml . Untuk panduan tentang pengaturan ini, lihat Nilai Daya .
Dalam profil daya, konsumsi daya ditentukan dalam miliamp (mA) penarikan arus pada tegangan nominal dan dapat berupa nilai pecahan yang ditentukan dalam mikroamp (uA). Nilainya harus mA yang dikonsumsi pada baterai dan bukan nilai yang berlaku untuk rel daya yang tidak sesuai dengan arus yang dikonsumsi dari baterai.
Misalnya, profil daya tampilan menentukan arus mA yang diperlukan untuk menjaga tampilan tetap menyala pada kecerahan minimum dan kecerahan maksimum. Untuk menentukan biaya daya (yaitu baterai yang terkuras oleh komponen tampilan) untuk menjaga tampilan tetap menyala, kerangka kerja melacak waktu yang dihabiskan pada setiap tingkat kecerahan, kemudian mengalikan interval waktu tersebut dengan biaya kecerahan tampilan yang diinterpolasi.
Kerangka kerja juga mengalikan waktu CPU untuk setiap aplikasi dengan mA yang diperlukan untuk menjalankan CPU pada kecepatan tertentu. Perhitungan ini menetapkan peringkat komparatif berapa banyak baterai yang digunakan aplikasi dengan mengeksekusi kode CPU (waktu sebagai aplikasi latar depan dan total waktu termasuk aktivitas latar belakang dilaporkan secara terpisah).