Profil daya untuk Android

Informasi penggunaan baterai berasal dari statistik penggunaan baterai dan nilai profil daya.

Statistik penggunaan baterai

Framework ini secara otomatis menentukan statistik penggunaan baterai dengan melacak berapa lama komponen perangkat menghabiskan waktu dalam berbagai status. Saat komponen (chipset Wi-Fi, radio seluler, Bluetooth, GPS, layar, CPU) mengubah status (NONAKTIF/AKTIF, tidak ada aktivitas/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 mulai ulang. Layanan ini tidak melacak arus baterai secara langsung, tetapi mengumpulkan informasi pengaturan waktu yang dapat digunakan untuk memperkirakan konsumsi baterai oleh berbagai komponen.

Framework ini mengumpulkan statistik menggunakan metode berikut:

  • Push. Layanan yang mengetahui perubahan komponen akan mendorong perubahan status ke layanan BatteryStats.
  • Pull. Untuk komponen seperti penggunaan CPU oleh aplikasi, framework akan otomatis mengambil data pada titik transisi (seperti memulai atau menghentikan aktivitas) untuk mengambil snapshot.

Penggunaan resource dikaitkan dengan aplikasi yang menggunakan resource. Saat beberapa aplikasi secara bersamaan menggunakan resource (seperti wakelock yang mencegah sistem dijeda), framework akan menyebarkan konsumsi di seluruh aplikasi tersebut, meskipun tidak selalu sama.

Untuk menghindari hilangnya statistik penggunaan untuk peristiwa penonaktifan, yang dapat menunjukkan masalah konsumsi daya baterai (yaitu penonaktifan terjadi karena baterai mencapai kapasitas tersisa nol), framework akan memunculkan statistik sekitar setiap 30 menit.

Statistik penggunaan baterai ditangani sepenuhnya oleh framework dan tidak memerlukan modifikasi OEM.

Nilai profil daya

Perhatian: Produsen perangkat harus memberikan profil daya komponen yang menentukan nilai konsumsi saat ini untuk komponen dan perkiraan pemakaian baterai yang disebabkan oleh komponen dari waktu ke waktu. Profil ini ditentukan di platform/frameworks/base/core/res/res/xml/power_profile.xml. Untuk panduan setelan ini, lihat Nilai Daya.

Dalam profil daya, konsumsi daya ditentukan dalam milliamp (mA) arus yang diambil pada voltase nominal dan dapat berupa nilai pecahan yang ditentukan dalam mikroamp (uA). Nilainya harus berupa mA yang digunakan di baterai, bukan nilai yang berlaku untuk power rail yang tidak sesuai dengan arus yang digunakan dari baterai.

Misalnya, profil daya layar menentukan mA arus yang diperlukan untuk membuat layar tetap menyala dengan kecerahan minimum dan kecerahan maksimum. Untuk menentukan biaya daya (yaitu baterai yang habis oleh komponen layar) agar layar tetap menyala, framework melacak waktu yang dihabiskan di setiap tingkat kecerahan, lalu mengalikan interval waktu tersebut dengan biaya kecerahan layar yang diinterpolasi.

Framework ini juga mengalikan waktu CPU untuk setiap aplikasi dengan mA yang diperlukan untuk menjalankan CPU pada kecepatan tertentu. Penghitungan ini menetapkan peringkat komparatif tentang jumlah baterai yang digunakan aplikasi dengan mengeksekusi kode CPU (waktu sebagai aplikasi latar depan dan total waktu termasuk aktivitas latar belakang dilaporkan secara terpisah).