Güç değerlerini ölçme

Cihaz üreticileri, /frameworks/base/core/res/res/xml/power_profile.xml içinde bir bileşen güç profili sağlamalıdır.

Güç profillerinin değerlerini belirlemek için cihaz tarafından kullanılan gücü ölçen donanım kullanın ve bilgi gereken çeşitli işlemleri gerçekleştirin. Bu işlemler sırasında güç kullanımını ölçün ve değerleri hesaplayın (diğer temel güç kullanımlarından uygun şekilde farklılıkları türetin).

Güç profilinin amacı, pil tüketimini uygun şekilde tahmin etmek olduğundan güç profili değerleri akım (amper) cinsinden verilir. Android çerçevesi, geçerli süreyi alt sistemin etkin olduğu zamanla çarpar ve mAh değerini hesaplar. Bu değer, daha sonra uygulama veya alt sistem tarafından tüketilen pil miktarını tahmin etmek için kullanılır.

Android 7.0 ve sonraki sürümleri çalıştıran Bluetooth, modem ve kablosuz ağ denetleyicilerine sahip cihazlar, yonga seti verilerinden elde edilen ek güç değerleri sağlayabilir.

Çeşitli CPU'lara sahip cihazlar

Heterojen mimariye sahip CPU çekirdeklerine sahip cihazların güç profili aşağıdaki ek alanları içermelidir:

  • Her küme için toplam CPU sayısı (cpu.clusters.cores olarak ifade edilir).
  • Her küme tarafından desteklenen CPU hızları.
  • Her küme için etkin CPU güç tüketimi.

Etkin CPU güç tüketimi ile kümeler için desteklenen CPU hızları arasında ayrım yapmak üzere küme numarasını dizinin adına ekleyin. Küme numaraları, çekirdek cihaz ağacındaki CPU çekirdeklerinin sırasına göre atanır. Örneğin, dört (4) çekirdeği olan iki (2) kümeye sahip heterojen bir mimaride:

  • küme0, cpu0-3'ten oluşur
  • küme1 cpu4-7'den oluşur

Android çerçevesi, şuradaki sysfs dosyalarındaki istatistikleri okurken bu CPU çekirdek sayılarını kullanır: /sys/devices/system/cpu/cpu<number>/cpufreq/stats.

Küme CPU'ları ve hızları örneği:

<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>

Güç değerleri

Aşağıdaki tabloda kullanılabilen güç değeri ayarları açıklanmaktadır. AOSP'teki örnek dosyayı görüntülemek için power_profile.xml dosyasını inceleyin.

Ad Açıklama Örnek değer Notlar
ambient.açık Ekran kapalı değil doz/ambiyans/her zaman açık modundayken ek güç kullanılır. yaklaşık 100 mA -
screen.on Ekran minimum parlaklıkta açıldığında kullanılan ek güç. 200 mA Dokunmatik kumanda ve ekran arka ışığı dahildir. Android'in minimum parlaklık ayarı olan %10 veya %20 yerine 0 parlaklık.
screen.full Ekran minimum parlaklıktayken ekran maksimum parlaklıktayken kıyasla kullanılan ek güç. 100 mA-300 mA Ekranın güç kullanımını hesaplamak için bu değerin bir oranı (ekran parlaklığına bağlı olarak) ekrana eklenir.
kablosuz.açık Kablosuz bağlantı açıkken ancak sinyal almıyor, aktarmıyor veya taramıyordur. 2 mA -
wifi.active Kablosuz ağ üzerinden iletim veya alma sırasında ek güç kullanılır. 31 mA -
kablosuz.tarama Kablosuz ağ, erişim noktaları için tarama yaparken kullanılan ek güç. 100 mA -
Ses DSP aracılığıyla ses kod çözme/kodlama işlemi yapılırken kullanılan ek güç. yaklaşık 10 mA DSP sesi için kullanılır.
video DSP aracılığıyla video kod çözme işlemi yapılırken kullanılan ek güç. yaklaşık 50 mA TTP videosu için kullanılır.
kamera.ort. Tipik bir kamera uygulaması için kamera alt sisteminin ortalama güç kullanımı. 600 mA Önizleme çalıştıran ve dakikada yaklaşık 10 tam çözünürlüklü resim çeken bir uygulama için kaba bir tahmin olarak tasarlanmıştır.
camera.flashlight Açıkken kamera flaş modülü tarafından kullanılan ortalama güç. 200 mA -
gps.signalqualitybased Sinyal gücüne bağlı olarak GPS tarafından kullanılan ek güç. Bu, en zayıfdan en güçlüye doğru sinyal gücü başına bir tane olmak üzere birden çok değerli giriştir. 30 mA, 10 mA -
gps.on GPS sinyal alırken kullanılan ek güç. 50 mA -
radio.active Hücresel radyo yayın yaparken/alıcıyken kullanılan ek güç. 100 mA-300 mA -
radio.scanning Hücresel radyo baz istasyonuna çağrı gönderirken kullanılan ek güç. 1,2 mA -
radio.on Hücresel radyo açıkken kullanılan ek güç. Bu, sinyal gücü başına bir tane olmak üzere birden çok değer içeren bir giriştir (sinyal yok, zayıf, orta, güçlü). 1,2 mA Bazı radyolar, baz istasyonu aradığında ve sinyal algılamadığında gücü artırır. Değerler, sinyal gücü artırıldıkça aynı veya az olabilir. Yalnızca bir değer sağlarsanız tüm güçlü yönler için aynı değer kullanılır. İki değer sağlarsanız ilk değer sinyal yokluğu için, ikinci değer diğer tüm sinyal güçleri için kullanılır.
bluetooth.controller.idle Boştayken Bluetooth denetleyicinin ortalama akım tüketimi (mA). - Bu değerler tahmini değildir ve denetleyicinin veri sayfasından alınmıştır. Birden fazla alma veya aktarım durumu varsa bu durumların ortalaması alınır. Ayrıca sistem artık Düşük Enerji (BDE) ve Bluetooth taramaları ile ilgili verileri de topluyor.

Android 7.0 ve sonraki sürümlerde bluetooth.active (Bluetooth A2DP üzerinden ses çalarken kullanılır) ve bluetooth.on (Bluetooth açık ancak kullanılmadığında kullanılır) için Bluetooth güç değerleri artık kullanılmıyor.
bluetooth.controller.rx Bluetooth denetleyicinin, veri alırken kullandığı ortalama akım (mA). -
bluetooth.controller.tx Bluetooth denetleyicinin veri aktarırken ortalama akım tüketimi (mA). -
bluetooth.controller.voltage Bluetooth denetleyicinin ortalama çalışma voltajı (mV). -
modem.denetleyici.uyku Uykudayken modem denetleyicisinin ortalama akım çizimi (mA). 0 mA Bu değerler tahmini değil, denetleyicinin veri sayfasından alınmıştır. Birden fazla alma durumu varsa bu durumların ortalaması alınır. Birden fazla aktarım durumu varsa Android 9'dan itibaren her aktarım durumu için bir değer belirtme özelliği desteklenir.
modem.controller.idle Modem denetleyicinin boştayken ortalama akım tüketimi (mA). -
modem.controller.rx Modem denetleyicisinin, veri alırken kullandığı ortalama akım (mA). -
modem.controller.tx Modem denetleyicisinin farklı RF güç seviyelerinde iletim yaparken ortalama akım tüketimi (mA). Bu, her iletim gücü seviyesi için bir değer içeren çok değerli bir giriştir. 100 mA, 200 mA, 300 mA, 400 mA, 500 mA
modem.controller.voltage Modem denetleyicisinin ortalama çalışma voltajı (mV). -
wifi.controller.boşta Boştayken kablosuz kontrol cihazının ortalama akım tüketimi (mA). - Bu değerler tahmini değil, denetleyicinin veri sayfasından alınmıştır. Birden fazla alma veya aktarım durumu varsa bu durumların ortalaması alınır.
wifi.controller.rx Alıcı modundayken kablosuz kontrol cihazının ortalama akım tüketimi (mA). -
wifi.controller.tx İletim sırasında kablosuz kumandanın ortalama akım çekişimi (mA). -
wifi.controller.voltage Wi-Fi denetleyicinin ortalama çalışma voltajı (mV). -
cpu.hız Bu, olası her CPU hızını KHz cinsinden listeleyen çok değerli bir giriştir. 125.000 KHz, 250.000 KHz, 500.000 KHz, 1.000.000 KHz, 1.500.000 KHz Girişlerin sayısı ve sırası, cpu.active parametresindeki mA girişleriyle eşleşmelidir.
cpu.boşta CPU'lar (ve SoC) sistem askıya alma durumundayken sistem tarafından çekilen toplam güç. 3 mA -
cpu.awake CPU'lar boşta kalma durumu (çekirdek boşta kalma döngüsü) programlanırken kullanılan ek güç; sistem, sistem askıya alma durumunda değildir. 50 mA Platformunuzda, farklı güç tüketimi seviyelerine sahip birden fazla boş durumda kalma durumu olabilir. Planlayıcının daha uzun süreler boyunca boş durumda kalması (birkaç milisaniye) için temsili bir boş durumda kalma durumu seçin. Ölçüm ekipmanınızdaki güç grafiğini inceleyin ve CPU'nun en düşük tüketim olduğu örnekleri seçin. CPU'nun boşta kaldığı yüksek örnekleri atın.
cpu.active CPU'ların farklı hızlarda çalışırken kullandığı ek güç. 100 mA, 120 mA, 140 mA, 160 mA, 200 mA Değer, CPU raylarının farklı hızlarda çalışırken kullandığı gücü temsil eder. Çekirdekteki maksimum hızı, izin verilen hızların her birine ayarlayın ve CPU'yu bu hıza sabitleyin. Girişlerin sayısı ve sırası, cpu.speeds parametresindeki girişlerin sayısına ve sırasına karşılık gelir.
cpu.clusters.cores Her CPU kümesinin içerdiği çekirdek sayısıdır. 4, 2 Yalnızca heterojen CPU mimarilerine sahip cihazlar için gereklidir. Giriş sayısı ve sırası, cpu.active ve cpu.speeds için küme girişi sayısıyla eşleşmelidir. İlk giriş, cluster0'daki CPU çekirdek sayısını, ikinci giriş ise cluster1'deki CPU çekirdek sayısını temsil eder.
pil.capacity mA/sa cinsinden toplam pil kapasitesi. 3.000 mAh -

Düşük Enerji (LE) ve Bluetooth taramaları

Android 7.0 çalıştıran cihazlarda sistem, Düşük Enerji (LE) taramaları ve Bluetooth ağ trafiği (ör. RFCOMM ve L2CAP) ile ilgili verileri toplar ve bu etkinlikleri başlatan uygulamayla ilişkilendirir. Bluetooth taramaları, taramayı başlatan uygulamayla ilişkilendirilir ancak toplu taramalar ilişkilendirilmez (Bluetooth uygulamasıyla ilişkilendirilir). N milisaniye boyunca tarama yapan bir uygulama için taramanın maliyeti N milisaniyelik alıcı süresi ve N milisaniyelik verici süresidir. Kalan tüm denetleyici süresi ağ trafiğine veya Bluetooth uygulamasına atanır.