Cihaz üreticileri, şurada bir bileşen güç profili sağlamalıdır:
/frameworks/base/core/res/res/xml/power_profile.xml
Güç profillerinin değerlerini belirlemek için gücü ölçen donanım kullanın. kullanılmasını ve çeşitli işlemleri gerçekleştirmesini gerekiyor. Bu işlemler ve bilgi işlem sırasında güç kullanımını ölçme değerler (diğer temel güç kullanımlarından uygun şekilde farklılıkları türetmek).
Güç profilinin amacı pil tüketimini doğru tahmin etmek olduğundan güç profili değerleri akım (amper) cinsinden verilir. Android çerçevesi güncel değeri, alt sistemin etkin olduğu zamanla çarpar ve mAh değerini hesaplar ve bu değer daha sonra pil miktarını tahmin etmek için kullanılır tarafından tüketilen verilerdir.
Android 7.0 ve üzeri sürümleri çalıştıran Bluetooth, modem ve kablosuz ağ kumandaları olan cihazlar değeri, yonga seti verilerinden elde edilen ek güç değerleri sağlayabilir.
Heterojen CPU'lara sahip cihazlar
Heterojen mimariye sahip CPU çekirdeğine 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ümenin desteklediği CPU hızları.
- Her küme için aktif CPU güç tüketimi.
Etkin CPU güç tüketimi ile desteklenen CPU'yu ayırt etmek için küme sayısını dizinin adına ekleyin. Küme sayılar, çekirdek cihaz ağacındaki CPU çekirdekleri sırasına göre atanır. Örneğin, örnek verecek olursak çekirdekler:
- küme0, cpu0-3'ten oluşur
- küme1 cpu4-7'den oluşur
Android çerçevesi, istatistikleri okurken bu CPU çekirdek sayılarını kullanır
şu konumdaki sysfs
dosyadan:
/sys/devices/system/cpu/cpu<number>/cpufreq/stats
.
Küme CPU'ları ve hızlarına örnek:
<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ılabilir güç değeri ayarları açıklanmaktadır. AOSP'deki örnek dosya için power_profile.xml.
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 | - |
ekran.açık | Ekran en düşük parlaklıkta açıldığında kullanılan ek güç. | 200 mA | Dokunmatik kumanda ve ekran arka ışığı dahildir. 0 parlaklıkta, Android minimum %10 veya %20'dir. |
ekran.tam | Şuna kıyasla, ekran maksimum parlaklıkta olduğunda kullanılan ek güç: minimum parlaklıkta. | 100 mA-300 mA | Bu değerin bir kısmı (ekran parlaklığına bağlı olarak) "screen.on" değerini kullanabilirsiniz. |
kablosuz.açık | Kablosuz ağ açık ancak alım yapılmazsa ek güç kullanılır. etkili bir yoludur. | 2 mA | - |
kablosuz.etkin | Kablosuz ağ üzerinden iletim veya alma sırasında ek güç kullanılır. | 31 mA | - |
kablosuz.tarama | Kablosuz bağlantı, erişim noktalarını tararken kullanılan ek güç. | 100 mA | - |
Ses | DSP aracılığıyla ses kodunu çözerken/kodlamayı gerçekleştirirken kullanılan ek güç. | yaklaşık 10 mA | TTP ses için kullanılır. |
video | DSP aracılığıyla video kodu çözülürken kullanılan ek güç. | yaklaşık 50 mA | TTP videosu için kullanılır. |
kamera.ort. | Tipik bir kamera için kamera alt sisteminin ortalama güç kullanımı uygulamasını indirin. | 600 mA | Önizleme çalıştıran bir uygulama için kaba bir tahmin olarak tasarlanmıştır ve dakikada yaklaşık 10 tam çözünürlüklü resim çekmeyi başardık. |
kamera.el feneri | Açıldığında kamera flaşı modülü tarafından kullanılan ortalama güç. | 200 mA | - |
gps.sinyal kalitesine dayalı | Sinyal gücüne bağlı olarak GPS tarafından kullanılan ek güç. Bu, birden çok değere sahip bir giriştir en zayıfdan en güçlüye doğru sinyal gücü başına bir giriş yapılmalıdır. | 30 mA, 10 mA | - |
gps.on | GPS sinyal alırken kullanılan ek güç. | 50 mA | - |
radyo.aktif | Hücresel radyo iletişim kurarken/alma sırasında ek güç kullanılır. | 100 mA-300 mA | - |
radyo.tarama | Hücresel radyo, kulede çağrı yaparken kullanılan ek güç. | 1,2 mA | - |
radyo.aç | Hücresel radyo açıkken kullanılan ek güç. Bu, birden çok değere sahip bir giriştir sinyal gücü başına bir adet (sinyal yok, zayıf, orta, güçlü). | 1,2 mA | Bazı radyolar baz istasyonu ararken gücü artırır ve yardımcı olur. Değerler, artan sinyalle aynı veya az olabilir dokunun. Yalnızca bir değer sağlarsanız tüm değerler için aynı değer kullanılır güçlü yönler. İki değer sağlarsanız ilki sinyal yok, ikinci değer diğer tüm güçlü yönler için kullanılır ve bu şekilde devam eder. |
bluetooth.controller.boşta | Bluetooth denetleyicinin boştayken ortalama akım çekişimi (mA). | - | Bu değerler tahmin edilmez ancak şirketin veri sayfasından alınmıştır.
çok önemli. Birden fazla alma veya gönderme durumu varsa ortalama
olduğu anlamına gelir. Ayrıca, sistem artık Google tarafından sunulan
Düşük Enerji (LE) ve Bluetooth taramaları. Android 7.0 ve sonraki sürümlerde artık bluetooth.active için Bluetooth güç değerlerini kullanmıyor (Bluetooth A2DP üzerinden ses çalarken kullanılır) ve bluetooth.on (şurada kullanılır: Bluetooth açık ancak boşta). |
bluetooth.controller.rx | Alım sırasında Bluetooth denetleyicinin ortalama akım çekimi (mA) değeri. | - | |
bluetooth.controller.tx | Bluetooth denetleyicinin aktarım sırasında ortalama akım çekişimi (mA). | - | |
bluetooth.controller.voltaj | 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ğildir ve denetleyicinin veri sayfasından alınmıştır. Birden fazla alma durumu varsa bu durumların ortalaması alınır. Varsa birden fazla iletim durumu (her iletim durumu için değer belirtilmesi desteklenir) Android 9'da kullanıma sunulacak. |
modem.controller.boşta | Boştayken modem denetleyicisinin ortalama akım çizimi (mA). | - | |
modem.controller.rx | Alma sırasında modem denetleyicisinin ortalama akım çekişimi (mA). | - | |
modem.controller.tx | Farklı RF gücünde iletim yaparken modem denetleyicisinin ortalama akım çekişimi (mA) seviyelere dokunun. Bu, iletim gücü düzeyi 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.controller.boşta | Boştayken kablosuz kumandanın ortalama akım çekişimi (mA). | - | Bu değerler tahmin edilmez ancak şirketin veri sayfasından alınmıştır. çok önemli. Birden fazla alma veya iletme durumu varsa ortalama olduğu anlamına gelir. |
wifi.controller.rx | Alım sırasında kablosuz kumandanın ortalama akım çekişimi (mA). | - | |
wifi.controller.tx | İletim sırasında kablosuz kumandanın ortalama akım çekişimi (mA). | - | |
wifi.denetleyici.voltaj | Kablosuz kumandanın 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, 1000.000 KHz, 1500.000 KHz | Girişlerin sayısı ve sırası, aşağıdaki mA girişlerine karşılık gelmelidir: cpu.active'de yer alıyor. |
cpu.boşta | CPU'lar (ve SoC) sistemdeyken sistem tarafından çekilen toplam güç askıya alma durumu. | 3 mA | - |
cpu.uyanık | CPU'lar boşta kalma durumunu programlarken kullanılan ek güç (çekirdek boşta kalma döngüsü); sistemin askıya alma durumunda olmadığından emin olun. | 50 mA | Platformunuz farklı şekillerde kullanılan birden fazla boşta kalma durumuna sahip olabilir Güç tüketimi seviyeleri; daha uzun süre temsili bir boşta kalma durumu seçin planlayıcının boşta kalma süreleri (birkaç milisaniye). Güç grafiğini ölçüm ekipmanınızı ve CPU'nun en düşük olduğu örnekleri seçin tüketir. Böylece CPU'nun boşta kaldığı yüksek örnekler silinir. |
cpu.etkin | Farklı hızlarda çalışırken CPU'ların kullandığı ek güç. | 100 mA, 120 mA, 140 mA, 160 mA, 200 mA | Değer, farklı bir güçte çalışırken CPU raylarının kullandığı gücü temsil eder hızları. Çekirdekteki maksimum hızı, izin verilen hızların ve peg'lerin her birine ayarlayın sabit bir hızda çalışır. Girişlerin sayısı ve sırası cpu.speeds'teki giriş sayısını ve sırasını gösterir. |
cpu.clusters.cores | Her CPU kümesinin içerdiği çekirdek sayısıdır. | 4, 2 | Yalnızca heterojen CPU'ya sahip cihazlar için gereklidir mimariler. Giriş sayısı ve sıra, cpu.active ve cpu.speeds için küme girişlerini kullanır. İlk giriş, daha önce küme0'daki CPU çekirdeği sayısını gösterir. İkinci giriş, Küme1'deki CPU çekirdekleri vb. |
pil.capacity | mAh cinsinden toplam pil kapasitesi. | 3.000 mAh | - |
Düşük Enerji (LE) ve Bluetooth taramaları
Sistem, Android 7.0 çalıştıran cihazlarda Düşük Enerji (LE) için veri toplar. ve Bluetooth ağ trafiğini (RFCOMM ve L2CAP gibi) tarar ve başlatma uygulamasıyla bu işlemleri gerçekleştirmemiz gerekir. Bluetooth taramaları ilişkili ancak toplu taramalar, taramayı başlatan uygulamayla Bluetooth uygulamasıyla ilişkilendirilir). Uygulama için N milisaniyelik tarama yapılırsa taramanın maliyeti N milisaniyelik rx süresidir ve N milisaniyelik işlem süresi; kalan tüm kumanda süresi şuna atanır: ağ trafiği veya Bluetooth uygulamasına bağlı olarak değişir.