Uyandırmalar, çocukların
Şu özelliklere sahip AlarmManager
API:
geliştiricilerin bir cihazı belirli bir zamanda uyandırmak için alarm kurmasına olanak tanır. Uygulamanız
set()
yöntemlerinden birini çağırarak uyandırma alarmı ayarlar:
AlarmManager
ve
ya
RTC_WAKEUP
veya
ELAPSED_REALTIME_WAKEUP
tıklayın. Uyandırma alarmı tetiklendiğinde cihaz düşük güç modundan çıkar
ve alarm çalışırken kısmi bir uyanık kalma kilidi tutar.
onReceive()
veya
onAlarm()
yöntemidir. Uyandırma alarmları çok fazla tetiklenirse cihazın pilini tüketebilirler
pil.
Android, uygulama kalitesini iyileştirmenize yardımcı olmak için uygulamaları ve bilgileri Android vitals'da görüntüler. Örneğin, verilerin nasıl toplandığıyla ilgili bilgileri Play Console'da bulabilirsiniz. dokümanlar için tıklayın.
Uygulamanız cihazı çok fazla uyandırıyorsa aşağıdaki adımları izleyin: bu sayfayı inceleyin.
Sorunun çözümü
AlarmManager
Android platformunun ilk sürümlerinde kullanıma sunulmuş olsa da zaman içinde
daha önce gerekli olan
AlarmManager
şimdi
daha iyi sunulur.
WorkManager.
Bu bölümde uyandırma alarmlarını azaltmayla ilgili ipuçları yer alır. Ancak uzun vadede
önerileri uygulamak için uygulamanızı en iyi
uygulamalar bölümünü inceleyin.
Uygulamanızda uyandırma alarmlarını planladığınız yerleri tespit edin ve bu alarmların tetiklenme sıklığını belirtir. Aşağıda bazı ipuçlarını görebilirsiniz:
Çeşitli
set()
yöntem:AlarmManager
veyaRTC_WAKEUP
veyaELAPSED_REALTIME_WAKEUP
tıklayın.Paketinizi, sınıfınızı veya yöntem adınızı alarmınızın etiketine eklemenizi öneririz. Böylece, kaynakta bu adın algılandığı konumu kolayca alarm kuruldu. Aşağıda bazı ek ipuçları verilmiştir:
- Kimlik bilgileri (PII) alan adına yer vermeyin. Örneğin,
e-posta adresi. Aksi takdirde cihaz, alarm yerine
_UNKNOWN
değerini kaydeder dokunun. - Sınıf veya yöntem adını programatik olarak (örneğin, şunu çağırarak) almayın:
getName()
, çünkü ProGuard tarafından karartılabilir. Bunun yerine sabit kodlu bir dize kullanın. - Alarm etiketlerine sayaç veya benzersiz tanımlayıcılar eklemeyin. Sistem alarmları toplu hale getirebiliriz çünkü hepsinin benzersiz tanımlayıcılar.
- Kimlik bilgileri (PII) alan adına yer vermeyin. Örneğin,
e-posta adresi. Aksi takdirde cihaz, alarm yerine
Sorunu düzelttikten sonra uyandırma alarmlarınızın aşağıdaki gibi çalıştığını doğrulayın: aşağıdaki ADB'nin çalıştırılması ile beklenir: komut:
adb shell dumpsys alarm
Bu komut, alarm sistemi hizmetinin durumu hakkında bilgi sağlar cihaz üzerinde. Daha fazla bilgi için bkz. dumpsys'i seçin.
En iyi uygulamalar
Uyandırma alarmlarını yalnızca uygulamanızın kullanıcılara yönelik bir işlem gerçekleştirmesi gerektiğinde kullanın (ör. bildirim yayınlama veya kullanıcıyı uyarma). Şunlar için: AlarmManager en iyi uygulamaları için Programlama Alarmlar.
Kullanma
AlarmManager
-
arka plan görevlerini, özellikle tekrarlanan veya ağ arka plan görevlerini
planlamaya yardımcı olur. Tekliflerinizi otomatikleştirmek ve optimize etmek için
İş Yöneticisi
şu avantajları sunduğundan arka plan görevlerini planlamak için kullanılır:
- toplu işlem - işler birleştirilir, böylece pil tüketimi azalır
- kalıcılık - cihaz yeniden başlatılırsa planlanmış WorkManager işleri yeniden başlatma tamamlandıktan sonra çalıştır
- ölçütlerdir. İşler, cihazın bağlı olup olmadığı gibi koşullara göre çalışabilir. şarj oluyor veya kablosuz bağlantı var
Daha fazla bilgi için Arka planda işleme rehberi başlıklı makaleyi inceleyin.
AlarmManager
uzantısını kullanma
yalnızca uygulama çalışırken geçerli olan zamanlama işlemlerini
planlamak için kullanılır.
diğer bir deyişle, kullanıcı
uygulamasında). Böyle durumlarda
Handler
sınıfı
ve verimli bir şekilde çalışmasını sağlar.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Takılı kalan kısmi uyanık kalma kilitleri
- ANR'ler