Kısmi uyanma kilitleri, PowerManager
API'sindeki bir mekanizmadır. Geliştiricilerin, cihazın ekranı kapandıktan sonra (sistem zaman aşımı veya kullanıcının güç düğmesine basması nedeniyle) CPU'yu çalıştırmasına olanak tanır. Uygulamanız, PARTIAL_WAKE_LOCK
işaretiyle acquire()
işlevini çağırarak kısmi uyanık kalma kilidi edinir. Uygulamanız arka planda çalışırken (uygulamanızın hiçbir kısmı kullanıcı tarafından görülemezken) uzun süre tutulan kısmi uyanma kilidi takılır. Bu durum, cihazın daha düşük güç durumlarına girmesini engellediği için cihazın pilinin tükenmesine neden olur. Kısmi uyanma kilitleri yalnızca gerektiğinde kullanılmalı ve artık gerekli olmadığında hemen bırakılmalıdır.
Uygulamanızda takılı kalmış bir kısmi uyanma kilidi varsa sorunu teşhis etmek ve düzeltmek için bu sayfadaki talimatları kullanabilirsiniz.
Sorunu algılama
Uygulamanızın kısmi uyanık kalma kilitlerinin takılı olduğunu her zaman fark etmeyebilirsiniz. Uygulamanızı yayınladıysanız Android vitals, sorundan haberdar olmanıza yardımcı olabilir.
Android vitals
Android vitals, uygulamanızda takılı kısmi uyanma kilitleri olduğunda Play Console üzerinden sizi uyararak uygulamanızın performansını iyileştirmenize yardımcı olabilir. Android vitals, arka planda bir pil oturumunda en az bir saat süren kısmi uyanık kalma kilidi oluştuğunda kısmi uyanık kalma kilidinin takılı olduğunu bildirir.
Pil oturumu tanımı platform sürümüne bağlıdır.
- Android 10'da pil oturumu, belirli bir 24 saatlik süre içinde alınan tüm pil raporlarının toplamıdır. Pil raporu, %20'nin altından% 80'in üstüne veya herhangi bir şarj seviyesinden %100'e kadarki iki pil şarjı arasındaki zaman aralığını ifade eder.
- Android 11'de pil oturumu, 24 saatlik sabit bir süredir.
Gösterilen pil oturumlarının sayısı, uygulamanın ölçülen tüm kullanıcıları için toplu bir değerdir. Google Play'in Android vitals verilerini nasıl topladığı hakkında bilgi edinmek için Play Console dokümanlarına bakın.
Uygulamanızda aşırı sayıda takılı kısmi uyanma kilidi olduğunu fark ettiğinizde sonraki adımınız sorunu gidermektir.
Sorunu çöz
Uyandırma kilitleri cihazın pilini tüketebileceğinden, alternatifi varsa uyandırma kilitlerini kullanmamalısınız. Cihazı uyanık tutmak için doğru API'yi seçme dokümanı, uygulamanız için en iyi çözümü bulmanıza yardımcı olabilir.
Uyandırma kilidi kullanmanız gerekiyorsa uyandırma kilitlerinizin cihaz verimliliğini etkilemediğinden emin olmak için uyandırma kilidi en iyi uygulamalarını uygulayın. Özellikle, edindiğiniz her cihazın kilidinin açık olduğundan ve kilidin mümkün olduğunca hızlı bir şekilde açıldığından emin olun.
Koddaki sorunu düzelttikten sonra, uygulamanızın aşağıdaki araçları kullanarak uyanma kilitlerini doğru şekilde kaldırdığını doğrulayın:
dumpsys: Bir cihazdaki sistem hizmetlerinin durumu hakkında bilgi sağlayan bir araçtır. Uyandırma kilitlerinin listesini içeren güç hizmetinin durumunu görmek için
adb shell dumpsys power
komutunu çalıştırın.Battery Historian: Android hata raporunun çıktısını, güçle ilgili etkinliklerin görsel bir temsiline ayrıştıran bir araçtır.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Donmuş kare
- Sürekli entegrasyonda karşılaştırma çalıştırma
- Makro Karşılaştırma olmadan referans profilleri oluşturma ve ölçme