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 veJobScheduler
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:
- Cihazda bir bulut mesajlaşma hizmetinin yüklü olduğunu onaylayın.
- 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 olarakfalse
(Doz devre dışı) değerine ayarlanır.
- Önceden yüklenmiş uygulama ve hizmetlerin aşağıdaki koşulları karşıladığını onaylayın:
- Şunu kullanın:
güç tasarrufu
optimizasyon yönergelerine bakın. Ayrıntılar için bkz. Test ve
uygulamaları optimize etme.
VEYA
- Doz ve Uygulamayı Beklemeye Alma özelliklerinden muaf tutulurlar. Ayrıntılar için bkz. Uygulamaları muaf tutma.
- Şunu kullanın:
güç tasarrufu
optimizasyon yönergelerine bakın. Ayrıntılar için bkz. Test ve
uygulamaları optimize etme.
- Gerekli hizmetlerin Doz'dan muaf olduğunu doğrulayın.
İpuçları
- Mümkünse FCM'yi şunun için kullanın: aşağı akış Mesajlaşma'da oturum açın.
- Kullanıcılarınızın hemen bir bildirim görmesi gerekiyorsa FCM yüksek öncelikli ileti olarak gönderin.
- Söz konusu belgenin mesaj yük (gereksiz sonraki ağ erişimini önlemek için).
- Önemli alarmları şununla ayarlayın:
setAndAllowWhileIdle()
vesetExactAndAllowWhileIdle()
.
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.