Pil kullanımı bilgileri, pil kullanımı istatistiklerinden ve güç profili değerlerinden elde edilir.
Pil kullanım istatistikleri
Çerçeve, cihaz bileşenlerinin farklı durumlarda ne kadar süre geçirdiğini izleyerek pil kullanım istatistiklerini otomatik olarak belirler. Bileşenler (Wi-Fi yonga seti, hücresel radyo, Bluetooth, GPS, ekran, CPU) durum değiştirdikçe (KAPALI/AÇIK, boşta/tam güç, düşük/yüksek parlaklık vb.) kontrol hizmeti, BatteryStats hizmetine rapor gönderir. BatteryStats, zaman içinde bilgi toplar ve yeniden başlatmalar arasında kullanılmak üzere saklar. Hizmet, pilin çektiği akımı doğrudan izlemez ancak farklı bileşenlerin pil tüketimini tahmin etmek için kullanılabilecek zamanlama bilgilerini toplar.
Çerçeve, aşağıdaki yöntemleri kullanarak istatistik toplar:
- Push. Bileşen değişikliklerinin farkında olan hizmetler, durum değişikliklerini BatteryStats hizmetine gönderir.
- Çekme. Uygulamaların CPU kullanımı gibi bileşenler için çerçeve, anlık görüntü almak üzere geçiş noktalarında (ör. bir etkinliği başlatma veya durdurma) verileri otomatik olarak çeker.
Kaynak tüketimi, kaynağı kullanan uygulamayla ilişkilendirilir. Birden fazla uygulama aynı anda bir kaynağı (ör. sistemin askıya alınmasını engelleyen uyandırma kilitleri) kullandığında çerçeve, tüketimi bu uygulamalara eşit olmasa da yayar.
Pil gücü tüketimi sorunlarını (ör. pilin kalan kapasitesi sıfıra ulaştığı için kapatma işlemi gerçekleşir) gösterebilecek bir kapatma etkinliğine ait kullanım istatistiklerinin kaybolmasını önlemek için çerçeve, yaklaşık 30 dakikada bir istatistikleri gösterir.
Pil kullanımı istatistikleri tamamen çerçeve tarafından işlenir ve OEM değişiklikleri gerektirmez.
Güç profili değerleri
Dikkat: Cihaz üreticileri, bileşenin akım tüketim değerini ve bileşenin zaman içinde neden olduğu yaklaşık pil boşalma miktarını tanımlayan bir bileşen güç profili sağlamalıdır. Bu profil, platform/frameworks/base/core/res/res/xml/power_profile.xml içinde tanımlanır. Bu ayarlar hakkında bilgi edinmek için Güç Değerleri başlıklı makaleyi inceleyin.
Güç profilinde güç tüketimi, nominal voltajda akım çekme miktarı olarak miliamper (mA) cinsinden belirtilir ve mikroamper (uA) cinsinden belirtilen kesirli bir değer olabilir. Değer, pilde tüketilen mA olmalı ve pilden tüketilen akıma karşılık gelmeyen bir güç rayı için geçerli bir değer olmamalıdır.
Örneğin, bir ekran güç profili, ekranın minimum ve maksimum parlaklıkta açık kalması için gereken akımın mA değerini belirtir. Ekranın açık kalmasının güç maliyetini (yani ekran bileşeninin tükettiği pil) belirlemek için çerçeve, her parlaklık düzeyinde harcanan süreyi izler ve ardından bu süre aralıklarını, enterpolasyonlu bir ekran parlaklığı maliyetiyle çarpar.
Çerçeve, her uygulama için CPU süresini, CPU'yu belirli bir hızda çalıştırmak için gereken mA ile de çarpar. Bu hesaplama, bir uygulamanın CPU kodu çalıştırarak ne kadar pil tükettiğine dair karşılaştırmalı bir sıralama oluşturur (ön plandaki uygulama olarak geçen süre ve arka plan etkinliği dahil toplam süre ayrı ayrı raporlanır).