Doze ile platformda güç yönetimi

Android, cihazın pil ömrünü uzatmak için cihaz durumunu şu şekilde etkileyebilir: cihaz kullanımını ve uyanıklığını izleme. Platformun durumu şu şekilde olabilir: uyku moduna geçerek cihaz kullanılmadığında etkinliklerin çalışmasını duraklatır.

Doz Hakkında

Doz, uygulama arka plan CPU'sunu ve arka plan CPU'sunu erteleyerek cihaz uzun süre kullanılmadığında ağ etkinliği görüntüleme sayısı

Doz'daki boşta olan cihazlar düzenli olarak bakım dönemine girer. Bu süre içinde uygulamalar, beklemedeki işleri (senkronizasyonlar, işler vb.) tamamlayabilir. Doz, ardından devam ettirilir daha uzun süre uyuması ve ardından başka bir bakım dönemi izlemesi. İlgili içeriği oluşturmak için kullanılan platform, Doz uyku/bakım sırasını devam ettirerek maksimum birkaç saatlik uyku süresine ulaşana kadar her seferinde boşta kalmaya devam eder. Hiç Doz'daki bir cihaz, hareketin farkında kalır ve Doz'dan hemen çıkar hareket algılandığında gösterilir.

Android 7.0 ve sonraki sürümlerde Doz özelliği daha hafif optimizasyonlar tetiklemek için kullanılır Kullanıcı cihaz ekranını her kapattığında, kullanıcı aşağıdaki işlemleri yapmaya devam etse bile: hareket ettirerek daha uzun süre dayanan pil ömrü sağlar.

Kritik sistem hizmetleri genellikle cihaz üreticileri tarafından, Doz'dan muaf tutulabilir. Kullanıcılar ayrıca Ayarlar menüsü. Ancak uygulamaların muaf tutulması cihazın pilinin bitmesine neden olabilir. Varsayılan olarak Doz, AOSP'de devre dışıdır; şunun için: Doz'u etkinleştirmeyle ilgili ayrıntılı bilgi için Doz'u Entegre Etme bölümüne bakın.

Dozla ilgili gereksinimler

Doz desteği, cihazda şunun gibi bir bulut mesajlaşma hizmetine sahip olmalıdır: Firebase Cloud Messaging (FCM) ile iletişime geçin. Cloud Messages gibi harici tetikleyici etkinlikler, , cihaz Doz modundayken uygulamaları çalışmaları için geçici olarak uyandırabilir.

Full Doz desteği için ayrıca bir önemli Cihazdaki hareket dedektörü (SMD); Ancak hafif Doz modu, Android 7.0 ve sonraki sürümler SMD gerektirmez. Bir cihazda Doz etkinleştirildiyse şu bilgileri sağlar:

  • SMD'si vardır, tam Doz optimizasyonları gerçekleştirilir (hafif optimizasyonları) için geçerli değildir.
  • SMD'si yoktur, yalnızca hafif Doz optimizasyonları gerçekleştirilir.

Doz yaşam döngüsü

Doz, platform cihazın boşta olduğunu algıladığında ve bir veya daha fazla çıkış ölçütü etkinliği gerçekleştiğinde sona erer.

Platform, şu durumlarda cihazın boşta olduğunu algılar:

  • Cihaz sabit durumda (SMD kullanılıyor).
  • Cihaz ekranı bir süre kapalı.

Pille çalışan bir cihaz güç şarj cihazına takılıyken doz modu çalışmaz.

Doz Sırasında

Platform, düzenli aralıklarla sistemi uyku durumunda tutmaya çalışır bakım dönemi sırasında normal işlemlere devam edip cihazı geri verme uykuya dalmamak anlamına gelir. Uyku sırasında, kısıtlamalar etkin:

  • Uygulamaların ağ erişimine izin verilmez.
  • Uygulama uyanık kalma kilitleri yoksayıldı.
  • Alarmlar ertelendi. Şunlarla ayarlanan çalar saatli alarmları ve alarmları hariç tutar: setAndAllowWhileIdle() (uygulama başına 15 dakikada 1 ile sınırlıdır, Doz). Bu muafiyet, aşağıdaki özelliklerde gösterilmesi gereken uygulamalar (ör: Takvim) içindir etkinlik hatırlatıcı bildirimleri.
  • Kablosuz ağ taramaları yapılmaz.
  • SyncAdapter senkronizasyon ve JobScheduler iş ertelendi bir sonraki bakım dönemine kadar.
  • SMS ve MMS mesajları alan uygulamalar geçici bir beyaz listeye alınır. Böylece, tam olarak anlayabilmelidir.

Çık

Platform, şunları algıladığında cihazı Doz'dan çıkar:

  • Kullanıcının cihazla etkileşimi
  • Cihaz hareketi
  • Cihaz ekranı açılır
  • Yaklaşan AlarmClock alarmı

Bildirimler, cihazın Doz'dan çıkmasına neden olmaz.

Android 7.0 ve sonraki sürümler, hafif bir uyku modunu etkinleştirerek Doz özelliğinin süresini uzatır (ör. ekran kapalıyken)

Şekil 1. Sabit olmayan ve sabit cihazlar için doz modları.

İşlem Doz Hafif Doz
Tetikleyici Ekran kapalı, pille çalışırken, sabit Ekran kapalı, pille (fişe takılı değil)
Zamanlama Bakımla birlikte dönemler artıyor Bakım dönemleri olan N dakikalık tekrarlanan dönemler
Kısıtlamalar Ağ erişimi, uyanık kalma kilidi veya GPS/kablosuz taraması yok; alarmlar ve işler/senkronizeler ertelendi Ağ erişimi yok, bakım dönemleri dışında işler/senkronizasyonlar ertelendi
Davranış Yalnızca yüksek öncelikli push bildirimi mesajları alındı Alınan tüm gerçek zamanlı mesajlar (anlık mesajlar, aramalar vb.) yüksek öncelikli push bildirimi mesajı geçici ağ erişimini etkinleştirir
Çık Hareket, ekran açık veya çalar saat alarmı Ekran açık

Uygulamayı Bekleme Moduyla Etkileşim

  • Doz'da harcanan süre, Uygulamayı Beklemeye Alma Süresi'ne dahil edilmez.
  • Cihaz Doz modundayken boştaki uygulamaların normal çalışmasına izin verilir günde en az bir kez işlem yapmalıdır.

Doz entegrasyonu

Doz etkinleştirildiğinde, SENSOR_TYPE_SIGNIFICANT_MOTION Tam Doz optimizasyonları yapmak (hafif optimizasyonlar dahil); cihazlar, yalnızca hafif Doz optimizasyonları yapar. Android uygun Doz optimizasyonlarını ve tedarikçi firmayı otomatik olarak seçer Bu, yapılandırmanın gerekli olmadığı anlamına gelir.

Bir cihazda Doz'u etkinleştirmek için:

  1. Cihazda bir bulut mesajlaşma hizmetinin yüklü olduğunu onaylayın.
  2. Cihaz yer paylaşımı yapılandırma dosyasında overlay/frameworks/base/core/res/res/values/config.xml, ayarlandı config_enableAutoPowerModes-true:
    <bool name="config_enableAutoPowerModes">true</bool>
    
    AOSP'de bu parametre varsayılan olarak false (Doz devre dışı) değerine ayarlanır.
  3. Önceden yüklenmiş uygulama ve hizmetlerin aşağıdaki koşulları karşıladığını onaylayın:
  4. Gerekli hizmetlerin Doz'dan muaf olduğunu doğrulayın.

İpuçları

Uygulamaları test etme ve optimize etme

Doz modunda tüm uygulamaları (özellikle önceden yüklenmiş uygulamalar) test edin. Ayrıntılı bilgi için Test Doz ve Uygulamayı Beklemeye Alma özelliklerini kullanın.