Google is committed to advancing racial equity for Black communities. See how.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Mengukur Nilai Daya

Produsen perangkat harus menyediakan profil daya komponen di /frameworks/base/core/res/res/xml/power_profile.xml .

Untuk menentukan nilai profil daya, gunakan perangkat keras yang mengukur daya yang digunakan oleh perangkat dan melakukan berbagai operasi yang memerlukan informasi. Ukur penggunaan daya selama operasi tersebut dan hitung nilainya (dapatkan perbedaan dari penggunaan daya dasar lainnya yang sesuai).

Karena tujuan profil daya adalah untuk memperkirakan pengurasan baterai dengan tepat, nilai profil daya diberikan dalam arus (amp). Kerangka Android mengalikan arus dengan waktu saat subsistem aktif dan menghitung nilai mAh, yang kemudian digunakan untuk memperkirakan jumlah baterai yang terkuras oleh aplikasi / subsistem.

Perangkat dengan pengontrol Bluetooth, modem, dan Wi-Fi yang menjalankan Android 7.0 dan yang lebih tinggi dapat memberikan nilai daya tambahan yang diperoleh dari data chipset.

Perangkat dengan CPU heterogen

Profil daya untuk perangkat dengan inti CPU dengan arsitektur heterogen harus menyertakan bidang tambahan berikut:

  • Jumlah total CPU untuk setiap cluster (dinyatakan dalam cpu.clusters.cores).
  • Kecepatan CPU didukung oleh setiap cluster.
  • Konsumsi daya CPU aktif untuk setiap cluster.

Untuk membedakan antara konsumsi daya CPU aktif dan kecepatan CPU yang didukung untuk cluster, tambahkan nomor cluster ke nama array. Nomor cluster ditetapkan dalam urutan inti CPU di pohon perangkat kernel. Misalnya, dalam arsitektur heterogen yang memiliki dua (2) cluster dengan empat (4) core:

  • cluster0 terdiri dari cpu0-3
  • cluster1 terdiri dari cpu4-7

Framework Android menggunakan nomor inti CPU ini saat membaca statistik dari file sysfs di: /sys/devices/system/cpu/cpu<number>/cpufreq/stats .

Contoh CPU cluster dan kecepatan:

<array name="cpu.active.cluster0">
<value>200</value>
<value>300</value>
<value>400</value>
</array>
<array name="cpu.speeds.cluster0">
<value>600000</value>
<value>800000</value>
<value>1200000</value>
</array>

<array name="cpu.active.cluster1">
<value>400</value>
<value>500</value>
<value>600</value>
</array>
<array name="cpu.speeds.cluster1">
<value>800000</value>
<value>1200000</value>
<value>1400000</value>
</array>

Nilai daya

Tabel berikut menjelaskan pengaturan nilai daya yang tersedia. Untuk melihat file contoh di AOSP, lihat power_profile.xml .

Nama Deskripsi Contoh Nilai Catatan
ambient.on Daya tambahan digunakan saat layar dalam mode tidur / ambien / selalu aktif, bukan mati. sekitar 100 mA -
screen.on Daya tambahan digunakan saat layar dihidupkan dengan kecerahan minimum. 200 mA Termasuk pengontrol sentuh dan lampu latar layar. Pada kecerahan 0, bukan minimum Android yang cenderung 10 atau 20%.
screen.full Daya tambahan digunakan saat layar berada pada kecerahan maksimum, dibandingkan dengan layar pada kecerahan minimum. 100 mA-300 mA Sebagian kecil dari nilai ini (berdasarkan kecerahan layar) ditambahkan ke layar. Pada nilai untuk menghitung penggunaan daya layar.
wifi.on Daya tambahan digunakan saat Wi-Fi dihidupkan tetapi tidak menerima, mengirim, atau memindai. 2 mA -
wifi.aktif Daya tambahan digunakan saat mengirim atau menerima melalui Wi-Fi. 31 mA -
wifi.scan Daya tambahan digunakan saat Wi-Fi memindai titik akses. 100 mA -
audio Daya tambahan digunakan saat audio decoding / encoding melalui DSP. sekitar 10 mA Digunakan untuk audio DSP.
video Daya tambahan digunakan saat decoding video melalui DSP. sekitar 50 mA Digunakan untuk video DSP.
camera.avg Penggunaan daya rata-rata oleh subsistem kamera untuk aplikasi kamera pada umumnya. 600 mA Dimaksudkan sebagai perkiraan kasar untuk aplikasi yang menjalankan pratinjau dan menangkap sekitar 10 gambar resolusi penuh per menit.
camera.flashlight Daya rata-rata yang digunakan oleh modul flash kamera saat aktif. 200 mA -
gps.signalqualitybased Daya tambahan yang digunakan oleh GPS berdasarkan kekuatan sinyal. Ini adalah entri multi-nilai, satu per kekuatan sinyal, dari yang paling lemah hingga yang terkuat. 30 mA, 10 mA -
gps.on Daya tambahan digunakan saat GPS memperoleh sinyal. 50 mA -
radioaktif Daya tambahan yang digunakan saat radio seluler memancarkan / menerima. 100 mA-300 mA -
radio.scanning Daya tambahan yang digunakan saat radio seluler melakukan paging menara. 1,2 mA -
radio.on Daya tambahan digunakan saat radio seluler menyala. Ini adalah entri multi-nilai, satu per kekuatan sinyal (tidak ada sinyal, lemah, sedang, kuat). 1,2 mA Beberapa radio meningkatkan daya saat mereka mencari menara seluler dan tidak mendeteksi sinyal. Nilainya bisa sama atau menurun dengan meningkatnya kekuatan sinyal. Jika Anda hanya memberikan satu nilai, nilai yang sama digunakan untuk semua kekuatan. Jika Anda memberikan dua nilai, nilai pertama digunakan untuk tanpa sinyal, nilai kedua digunakan untuk semua kekuatan lainnya, dan seterusnya.
bluetooth.controller.idle Penarikan arus rata-rata (mA) dari pengontrol Bluetooth saat idle. - Nilai-nilai ini tidak diperkirakan, tetapi diambil dari lembar data pengontrol. Jika ada beberapa status terima atau kirim, rata-rata dari status tersebut diambil. Selain itu, sistem sekarang mengumpulkan data untuk pemindaian Hemat Energi (LE) dan Bluetooth .

Android 7.0 dan yang lebih baru tidak lagi menggunakan nilai daya Bluetooth untuk bluetooth.active (digunakan saat memutar audio melalui Bluetooth A2DP) dan bluetooth.on (digunakan saat Bluetooth aktif tetapi tidak aktif).
bluetooth.controller.rx Penarikan arus rata-rata (mA) dari pengontrol Bluetooth saat menerima. -
bluetooth.controller.tx Penarikan arus rata-rata (mA) dari pengontrol Bluetooth saat melakukan transmisi. -
bluetooth.controller.voltage Tegangan operasi rata-rata (mV) dari pengontrol Bluetooth. -
modem.controller.sleep Penarikan arus rata-rata (mA) dari pengontrol modem saat tidur. 0 mA Nilai-nilai ini tidak diperkirakan, tetapi diambil dari lembar data pengontrol. Jika ada beberapa status terima, rata-rata status tersebut diambil. Jika ada beberapa status pengiriman, menentukan nilai untuk setiap status pengiriman didukung mulai Android 9.
modem.controller.idle Penarikan arus rata-rata (mA) dari pengontrol modem saat menganggur. -
modem.controller.rx Penarikan arus rata-rata (mA) dari pengontrol modem saat menerima. -
modem.controller.tx Penarikan arus rata-rata (mA) dari pengontrol modem saat memancarkan pada tingkat daya RF yang berbeda. Ini adalah entri multi-nilai dengan satu nilai per tingkat daya pancar. 100 mA, 200 mA, 300 mA, 400 mA, 500 mA
modem.controller.voltage Tegangan operasi rata-rata (mV) dari pengontrol modem. -
wifi.controller.idle Penarikan arus rata-rata (mA) dari pengontrol Wi-Fi saat idle. - Nilai-nilai ini tidak diperkirakan, tetapi diambil dari lembar data pengontrol. Jika ada beberapa status terima atau kirim, rata-rata dari status tersebut diambil.
wifi.controller.rx Penarikan arus rata-rata (mA) dari pengontrol Wi-Fi saat menerima. -
wifi.controller.tx Penarikan arus rata-rata (mA) dari pengontrol Wi-Fi saat melakukan transmisi. -
wifi.controller.voltage Tegangan operasi rata-rata (mV) dari pengontrol Wi-Fi. -
cpu.speeds Ini adalah entri multi-nilai yang mencantumkan setiap kemungkinan kecepatan CPU dalam KHz. 125000 KHz, 250000 KHz, 500000 KHz, 1000000 KHz, 1500000 KHz Jumlah dan urutan entri harus sesuai dengan entri mA di cpu.active.
cpu.idle Total daya yang ditarik oleh sistem saat CPU (dan SoC) dalam status penangguhan sistem. 3 mA -
cpu.awake Daya tambahan yang digunakan saat CPU berada dalam penjadwalan status siaga (kernel idle loop); sistem tidak dalam status penangguhan sistem. 50 mA Platform Anda mungkin memiliki lebih dari satu status menganggur yang digunakan dengan tingkat konsumsi daya yang berbeda; pilih status siaga perwakilan untuk periode menganggur penjadwal yang lebih lama (beberapa milidetik). Periksa grafik daya pada peralatan pengukuran Anda dan pilih sampel yang konsumsi CPU-nya paling rendah, buang sampel yang lebih tinggi saat CPU keluar dari mode menganggur.
cpu.active Daya tambahan yang digunakan oleh CPU saat berjalan pada kecepatan yang berbeda. 100 mA, 120 mA, 140 mA, 160 mA, 200 mA Nilai mewakili daya yang digunakan oleh rel CPU saat berjalan pada kecepatan yang berbeda. Setel kecepatan maks di kernel ke setiap kecepatan yang diizinkan dan pasangkan CPU pada kecepatan itu. Jumlah dan urutan entri sesuai dengan jumlah dan urutan entri di cpu.speeds.
cpu.clusters.cores Jumlah inti yang dimiliki setiap cluster CPU. 4, 2 Diperlukan hanya untuk perangkat dengan arsitektur CPU yang heterogen . Jumlah entri dan urutan harus sesuai dengan jumlah entri cluster untuk cpu.active dan cpu.speeds. Entri pertama mewakili jumlah inti CPU di cluster0, entri kedua mewakili jumlah inti CPU di cluster1, dan seterusnya.
kapasitas baterai Kapasitas baterai total dalam mAh. 3000 mAh -

Pemindaian Energi Rendah (LE) dan Bluetooth

Untuk perangkat yang menjalankan Android 7.0, sistem mengumpulkan data untuk pemindaian Hemat Energi (LE) dan lalu lintas jaringan Bluetooth (seperti RFCOMM dan L2CAP) dan mengaitkan aktivitas ini dengan aplikasi yang memulai. Pemindaian Bluetooth dikaitkan dengan aplikasi yang memulai pemindaian, tetapi pemindaian batch tidak (dan malah dikaitkan dengan aplikasi Bluetooth). Untuk aplikasi yang memindai N milidetik, biaya pemindaiannya adalah N milidetik waktu rx dan N milidetik waktu tx; semua waktu pengontrol yang tersisa ditetapkan untuk lalu lintas jaringan atau aplikasi Bluetooth.