Cihaz üreticileri /frameworks/base/core/res/res/xml/power_profile.xml
dosyasında bir bileşen güç profili sağlamalıdır.
Güç profillerinin değerlerini belirlemek için, aygıt tarafından kullanılan gücü ölçen donanımı kullanın ve bilgi gerektiren çeşitli işlemleri gerçekleştirin. Bu işlemler sırasında güç kullanımını ölçün ve değerleri hesaplayın (uygun olduğu şekilde diğer temel güç kullanımlarından farklılıklar elde ederek).
Bir güç profilinin amacı, pil tüketimini uygun şekilde tahmin etmek olduğundan, güç profili değerleri akım (amper) olarak verilir. Android çerçevesi, akımı alt sistemin etkin olduğu zamanla çarpar ve daha sonra uygulama/alt sistem tarafından tüketilen pil miktarını tahmin etmek için kullanılan mAh değerini hesaplar.
Android 7.0 ve sonraki sürümleri çalıştıran Bluetooth, modem ve Wi-Fi denetleyicilerine sahip cihazlar, yonga seti verilerinden elde edilen ek güç değerleri sağlayabilir.
Heterojen 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 cinsinden ifade edilir).
- Her küme tarafından desteklenen CPU hızları.
- Her küme için aktif CPU güç tüketimi.
Kümeler için aktif CPU güç tüketimi ile desteklenen CPU hızları arasında ayrım yapmak için küme numarasını dizinin adına ekleyin. Küme numaraları, çekirdek aygıt ağacındaki CPU çekirdeklerinin sırasına göre atanır. Örneğin, dört (4) çekirdeğe sahip 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 /sys/devices/system/cpu/cpu<number>/cpufreq/stats
konumundaki sysfs
dosyalarından istatistikleri okurken bu CPU çekirdek numaralarını kullanır.
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 mevcut güç değeri ayarları açıklanmaktadır. Örnek dosyayı AOSP'de görüntülemek için bkz . power_profile.xml .
İsim | Tanım | Örnek Değer | notlar |
---|---|---|---|
ortam.açık | Ekran kapalı yerine uyku/ortam/her zaman açık modundayken kullanılan ek güç. | yaklaşık 100 mA | - |
ekran.açık | Ekran minimum parlaklıkta açıldığında ek güç kullanılır. | 200mA | Dokunmatik kontrolör ve ekran arka ışığı içerir. 0 parlaklıkta, %10 veya %20 olma eğiliminde olan Android minimum değeri değil. |
ekran.dolu | Minimum parlaklıktaki ekrana kıyasla ekran maksimum parlaklıktayken kullanılan ek güç. | 100 mA-300 mA | Bu değerin (ekran parlaklığına bağlı olarak) bir kısmı, ekranın güç kullanımını hesaplamak için screen.on değerine eklenir. |
wifi.açık | Wi-Fi açıkken, alma, iletme veya tarama yapmadığında ek güç kullanılır. | 2 mA | - |
wifi.aktif | Wi-Fi üzerinden iletirken veya alırken kullanılan ek güç. | 31 ma | - |
wifi.tarama | Wi-Fi erişim noktalarını tararken kullanılan ek güç. | 100mA | - |
ses | DSP aracılığıyla ses kodu çözme/kodlama yapılırken kullanılan ek güç. | yaklaşık 10 mA | DSP sesi için kullanılır. |
video | DSP aracılığıyla video kodu çözerken kullanılan ek güç. | yaklaşık 50 mA | DSP videosu için kullanılır. |
kamera.ortalama | Tipik bir kamera uygulaması için kamera alt sistemi tarafından ortalama güç kullanımı. | 600mA | Ö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. |
kamera.el feneri | Açıkken kamera flaşı modülü tarafından kullanılan ortalama güç. | 200mA | - |
gps.signalqualitybased | Sinyal gücüne bağlı olarak GPS tarafından kullanılan ek güç. Bu, en zayıftan en güçlüye doğru, sinyal gücü başına bir çoklu değer girişidir. | 30 mA, 10 mA | - |
gps.açık | GPS bir sinyal alırken kullanılan ek güç. | 50mA | - |
radyoaktif | Hücresel radyo iletirken/alırken kullanılan ek güç. | 100 mA-300 mA | - |
radyo.tarama | Hücresel radyo kuleye çağrı gönderirken kullanılan ek güç. | 1,2 mA | - |
radyo açık | Hücresel radyo açıkken kullanılan ek güç. Bu, sinyal gücü başına bir (sinyal yok, zayıf, orta, güçlü) olmak üzere çok değerli bir giriştir. | 1,2 mA | Bazı radyolar, bir baz istasyonu aradıklarında ve bir sinyal algılamadıklarında gücü artırır. Değerler aynı olabilir veya artan sinyal gücüyle azalabilir. 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, birincisi sinyal yok için kullanılır, ikinci değer diğer tüm güçler için kullanılır vb. |
bluetooth.denetleyici.idle | Boştayken Bluetooth denetleyicisinin ortalama akım çekişi (mA). | - | Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma veya gönderme durumu varsa, bu durumların ortalaması alınır. Ayrıca, sistem artık Düşük Enerji (LE) ve Bluetooth taramaları için veri toplamaktadır. Android 7.0 ve üzeri artık bluetooth.active (Bluetooth A2DP aracılığıyla ses çalarken kullanılır) ve bluetooth.on (Bluetooth açıkken ancak boştayken kullanılır) için Bluetooth güç değerlerini kullanmaz. |
bluetooth.denetleyici.rx | Alım sırasında Bluetooth denetleyicisinin ortalama akım çekişi (mA). | - | |
bluetooth.denetleyici.tx | İletim sırasında Bluetooth denetleyicisinin ortalama akım çekişi (mA). | - | |
bluetooth.denetleyici.voltaj | Bluetooth denetleyicisinin ortalama çalışma voltajı (mV). | - | |
modem.denetleyici.uyku | Modem denetleyicisinin uykudayken çektiği ortalama akım (mA). | 0 mA | Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma durumu varsa, bu durumların ortalaması alınır. Birden fazla iletim durumu varsa, Android 9'dan itibaren her iletim durumu için bir değer belirtmek desteklenir. |
modem.denetleyici.idle | Modem denetleyicisinin boştayken çektiği ortalama akım (mA). | - | |
modem.denetleyici.rx | Alırken modem denetleyicisinin çektiği ortalama akım (mA). | - | |
modem.denetleyici.tx | Modem denetleyicisinin farklı RF güç seviyelerinde iletim yaparken çektiği ortalama akım (mA). Bu, iletim gücü seviyesi başına bir değer içeren çok değerli bir giriştir. | 100 mA, 200 mA, 300 mA, 400 mA, 500 mA | |
modem.denetleyici.voltaj | Modem denetleyicisinin ortalama çalışma voltajı (mV). | - | |
wifi.denetleyici.idle | Boştayken Wi-Fi denetleyicisinin ortalama akım çekişi (mA). | - | Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma veya gönderme durumu varsa, bu durumların ortalaması alınır. |
wifi.denetleyici.rx | Alım sırasında Wi-Fi denetleyicisinin ortalama akım çekişi (mA). | - | |
wifi.denetleyici.tx | İletim sırasında Wi-Fi denetleyicisinin ortalama akım çekişi (mA). | - | |
wifi.denetleyici.voltaj | Wi-Fi denetleyicisinin ortalama çalışma voltajı (mV). | - | |
işlemci hızları | Bu, olası her CPU hızını KHz cinsinden listeleyen çok değerli bir giriştir. | 125000 KHz, 250000 KHz, 500000 KHz, 1000000 KHz, 1500000 KHz | Girişlerin sayısı ve sırası, cpu.active'deki mA girişlerine karşılık gelmelidir. |
işlemci boşta | CPU'lar (ve SoC) sistem askıya alma durumundayken sistem tarafından çekilen toplam güç. | 3 mA | - |
işlemci.uyanık | CPU'lar zamanlama boşta durumundayken (çekirdek boşta döngü) kullanılan ek güç; sistem sistem askıya alma durumunda değil. | 50mA | Platformunuz, farklı güç tüketimi seviyeleriyle kullanımda olan birden fazla boşta duruma sahip olabilir; daha uzun zamanlayıcı boşta kalma süreleri (birkaç milisaniye) için temsili bir boşta durumu seçin. Ölçüm ekipmanınızdaki güç grafiğini inceleyin ve CPU'nun boşta kaldığı daha yüksek örnekleri atarak CPU'nun en düşük tüketimde olduğu örnekleri seçin. |
cpu.aktif | Farklı hızlarda çalışırken CPU'lar tarafından kullanılan ek güç. | 100 mA, 120 mA, 140 mA, 160 mA, 200 mA | Değer, farklı hızlarda çalışırken CPU rayları tarafından kullanılan 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'deki 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ı. | 4, 2 | Yalnızca heterojen CPU mimarisine sahip cihazlar için gereklidir. Giriş sayısı ve sıra, cpu.active ve cpu.speeds için küme girişlerinin sayısıyla eşleşmelidir. İlk giriş küme 0'daki CPU çekirdeği sayısını temsil eder, ikinci giriş küme 1'deki CPU çekirdeği sayısını temsil eder vb. |
pil kapasitesi | mAh cinsinden toplam pil kapasitesi. | 3000 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 (RFCOMM ve L2CAP gibi) için veri toplar ve bu etkinlikleri başlatan uygulamayla ilişkilendirir. Bluetooth taramaları, taramayı başlatan uygulamayla ilişkilidir, ancak toplu taramalar değildir (ve bunun yerine Bluetooth uygulamasıyla ilişkilendirilir). N milisaniye tarama yapan bir uygulama için, taramanın maliyeti N milisaniye rx süresi ve N milisaniye tx süresidir; kalan tüm denetleyici süresi, ağ trafiğine veya Bluetooth uygulamasına atanır.
, Cihaz üreticileri /frameworks/base/core/res/res/xml/power_profile.xml
dosyasında bir bileşen güç profili sağlamalıdır.
Güç profillerinin değerlerini belirlemek için, aygıt tarafından kullanılan gücü ölçen donanımı kullanın ve bilgi gerektiren çeşitli işlemleri gerçekleştirin. Bu işlemler sırasında güç kullanımını ölçün ve değerleri hesaplayın (uygun olduğu şekilde diğer temel güç kullanımlarından farklılıklar elde ederek).
Bir güç profilinin amacı, pil tüketimini uygun şekilde tahmin etmek olduğundan, güç profili değerleri akım (amper) olarak verilir. Android çerçevesi, akımı alt sistemin etkin olduğu zamanla çarpar ve daha sonra uygulama/alt sistem tarafından tüketilen pil miktarını tahmin etmek için kullanılan mAh değerini hesaplar.
Android 7.0 ve sonraki sürümleri çalıştıran Bluetooth, modem ve Wi-Fi denetleyicilerine sahip cihazlar, yonga seti verilerinden elde edilen ek güç değerleri sağlayabilir.
Heterojen 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 cinsinden ifade edilir).
- Her küme tarafından desteklenen CPU hızları.
- Her küme için aktif CPU güç tüketimi.
Kümeler için aktif CPU güç tüketimi ile desteklenen CPU hızları arasında ayrım yapmak için küme numarasını dizinin adına ekleyin. Küme numaraları, çekirdek aygıt ağacındaki CPU çekirdeklerinin sırasına göre atanır. Örneğin, dört (4) çekirdeğe sahip 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 /sys/devices/system/cpu/cpu<number>/cpufreq/stats
konumundaki sysfs
dosyalarından istatistikleri okurken bu CPU çekirdek numaralarını kullanır.
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 mevcut güç değeri ayarları açıklanmaktadır. Örnek dosyayı AOSP'de görüntülemek için bkz . power_profile.xml .
İsim | Tanım | Örnek Değer | notlar |
---|---|---|---|
ortam.açık | Ekran kapalı yerine uyku/ortam/her zaman açık modundayken kullanılan ek güç. | yaklaşık 100 mA | - |
ekran.açık | Ekran minimum parlaklıkta açıldığında ek güç kullanılır. | 200mA | Dokunmatik kontrolör ve ekran arka ışığı içerir. 0 parlaklıkta, %10 veya %20 olma eğiliminde olan Android minimum değeri değil. |
ekran.dolu | Minimum parlaklıktaki ekrana kıyasla ekran maksimum parlaklıktayken kullanılan ek güç. | 100 mA-300 mA | Bu değerin (ekran parlaklığına bağlı olarak) bir kısmı, ekranın güç kullanımını hesaplamak için screen.on değerine eklenir. |
wifi.açık | Wi-Fi açıkken, alma, iletme veya tarama yapmadığında ek güç kullanılır. | 2 mA | - |
wifi.aktif | Wi-Fi üzerinden iletirken veya alırken kullanılan ek güç. | 31 ma | - |
wifi.tarama | Wi-Fi erişim noktalarını tararken kullanılan ek güç. | 100mA | - |
ses | DSP aracılığıyla ses kodu çözme/kodlama yapılırken kullanılan ek güç. | yaklaşık 10 mA | DSP sesi için kullanılır. |
video | DSP aracılığıyla video kodu çözerken kullanılan ek güç. | yaklaşık 50 mA | DSP videosu için kullanılır. |
kamera.ortalama | Tipik bir kamera uygulaması için kamera alt sistemi tarafından ortalama güç kullanımı. | 600mA | Ö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. |
kamera.el feneri | Açıkken kamera flaşı modülü tarafından kullanılan ortalama güç. | 200mA | - |
gps.signalqualitybased | Sinyal gücüne bağlı olarak GPS tarafından kullanılan ek güç. Bu, en zayıftan en güçlüye doğru, sinyal gücü başına bir çoklu değer girişidir. | 30 mA, 10 mA | - |
gps.açık | GPS bir sinyal alırken kullanılan ek güç. | 50mA | - |
radyoaktif | Hücresel radyo iletirken/alırken kullanılan ek güç. | 100 mA-300 mA | - |
radyo.tarama | Hücresel radyo kuleye çağrı gönderirken kullanılan ek güç. | 1,2 mA | - |
radyo açık | Hücresel radyo açıkken kullanılan ek güç. Bu, sinyal gücü başına bir (sinyal yok, zayıf, orta, güçlü) olmak üzere çok değerli bir giriştir. | 1,2 mA | Bazı radyolar, bir baz istasyonu aradıklarında ve bir sinyal algılamadıklarında gücü artırır. Değerler aynı olabilir veya artan sinyal gücüyle azalabilir. 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, birincisi sinyal yok için kullanılır, ikinci değer diğer tüm güçler için kullanılır vb. |
bluetooth.denetleyici.idle | Boştayken Bluetooth denetleyicisinin ortalama akım çekişi (mA). | - | Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma veya gönderme durumu varsa, bu durumların ortalaması alınır. Ayrıca, sistem artık Düşük Enerji (LE) ve Bluetooth taramaları için veri toplamaktadır. Android 7.0 ve üzeri artık bluetooth.active (Bluetooth A2DP aracılığıyla ses çalarken kullanılır) ve bluetooth.on (Bluetooth açıkken ancak boştayken kullanılır) için Bluetooth güç değerlerini kullanmaz. |
bluetooth.denetleyici.rx | Alım sırasında Bluetooth denetleyicisinin ortalama akım çekişi (mA). | - | |
bluetooth.denetleyici.tx | İletim sırasında Bluetooth denetleyicisinin ortalama akım çekişi (mA). | - | |
bluetooth.denetleyici.voltaj | Bluetooth denetleyicisinin ortalama çalışma voltajı (mV). | - | |
modem.denetleyici.uyku | Modem denetleyicisinin uykudayken çektiği ortalama akım (mA). | 0 mA | Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma durumu varsa, bu durumların ortalaması alınır. Birden fazla iletim durumu varsa, Android 9'dan itibaren her iletim durumu için bir değer belirtmek desteklenir. |
modem.denetleyici.idle | Modem denetleyicisinin boştayken çektiği ortalama akım (mA). | - | |
modem.denetleyici.rx | Alırken modem denetleyicisinin çektiği ortalama akım (mA). | - | |
modem.denetleyici.tx | Modem denetleyicisinin farklı RF güç seviyelerinde iletim yaparken çektiği ortalama akım (mA). Bu, iletim gücü seviyesi başına bir değer içeren çok değerli bir giriştir. | 100 mA, 200 mA, 300 mA, 400 mA, 500 mA | |
modem.denetleyici.voltaj | Modem denetleyicisinin ortalama çalışma voltajı (mV). | - | |
wifi.denetleyici.idle | Boştayken Wi-Fi denetleyicisinin ortalama akım çekişi (mA). | - | Bu değerler tahmini değildir, ancak kontrolörün veri sayfasından alınmıştır. Birden fazla alma veya gönderme durumu varsa, bu durumların ortalaması alınır. |
wifi.denetleyici.rx | Alım sırasında Wi-Fi denetleyicisinin ortalama akım çekişi (mA). | - | |
wifi.denetleyici.tx | İletim sırasında Wi-Fi denetleyicisinin ortalama akım çekişi (mA). | - | |
wifi.denetleyici.voltaj | Wi-Fi denetleyicisinin ortalama çalışma voltajı (mV). | - | |
işlemci hızları | Bu, olası her CPU hızını KHz cinsinden listeleyen çok değerli bir giriştir. | 125000 KHz, 250000 KHz, 500000 KHz, 1000000 KHz, 1500000 KHz | Girişlerin sayısı ve sırası, cpu.active'deki mA girişlerine karşılık gelmelidir. |
işlemci boşta | CPU'lar (ve SoC) sistem askıya alma durumundayken sistem tarafından çekilen toplam güç. | 3 mA | - |
işlemci.uyanık | CPU'lar zamanlama boşta durumundayken (çekirdek boşta döngü) kullanılan ek güç; sistem sistem askıya alma durumunda değil. | 50mA | Platformunuz, farklı güç tüketimi seviyeleriyle kullanımda olan birden fazla boşta duruma sahip olabilir; daha uzun zamanlayıcı boşta kalma süreleri (birkaç milisaniye) için temsili bir boşta durumu seçin. Ölçüm ekipmanınızdaki güç grafiğini inceleyin ve CPU'nun boşta kaldığı daha yüksek örnekleri atarak CPU'nun en düşük tüketimde olduğu örnekleri seçin. |
cpu.aktif | Farklı hızlarda çalışırken CPU'lar tarafından kullanılan ek güç. | 100 mA, 120 mA, 140 mA, 160 mA, 200 mA | Değer, farklı hızlarda çalışırken CPU rayları tarafından kullanılan 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'deki 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ı. | 4, 2 | Yalnızca heterojen CPU mimarisine sahip cihazlar için gereklidir. Giriş sayısı ve sıra, cpu.active ve cpu.speeds için küme girişlerinin sayısıyla eşleşmelidir. İlk giriş küme0'daki CPU çekirdeği sayısını temsil eder, ikinci giriş küme1'deki CPU çekirdeği sayısını temsil eder vb. |
pil kapasitesi | mAh cinsinden toplam pil kapasitesi. | 3000 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 (RFCOMM ve L2CAP gibi) için veri toplar ve bu etkinlikleri başlatan uygulamayla ilişkilendirir. Bluetooth taramaları, taramayı başlatan uygulamayla ilişkilidir, ancak toplu taramalar değildir (ve bunun yerine Bluetooth uygulamasıyla ilişkilendirilir). N milisaniye tarama yapan bir uygulama için, taramanın maliyeti N milisaniye rx zamanı ve N milisaniye tx zamanıdır; kalan tüm denetleyici süresi, ağ trafiğine veya Bluetooth uygulamasına atanır.