Aşırı sayıda kısmi uyanık kalma kilidi

Kısmi uyanık kalma kilitleri, PowerManager API'sindeki bir mekanizmadır. Bu mekanizma, geliştiricilerin bir cihazın ekranı kapandıktan sonra (sistem zaman aşımı nedeniyle veya kullanıcının güç düğmesine basması nedeniyle) CPU'nun çalışmaya devam etmesini sağlar. Uygulamanız, acquire() işlevini PARTIAL_WAKE_LOCK işaretiyle çağırarak veya uyandırma kilidi alan diğer API'leri kullanarak kısmi uyandırma kilidi alır. Kısmi uyanık kalma kilitlerinin aşırı kullanımı, cihazın daha düşük güç durumlarına girmesini engellediği için cihazın pilini boşaltır. Kısmi uyandırma kilitleri yalnızca gerektiğinde kullanılmalı ve artık gerekmediğinde serbest bırakılmalıdır.

Uygulamanız kısmi uyanık kalma kilitlerini aşırı kullanıyorsa sorunu teşhis etmek ve düzeltmek için bu sayfadaki yönergelerden yararlanabilirsiniz.

Geri bildirimleriniz, dokümanlarımızı iyileştirmemize yardımcı olur. Lütfen aşağıdaki bağlantıyı kullanarak geri bildiriminizi bizimle paylaşın:

Geri bildirim gönderme

Sorunu tespit etme

Android vitals, uygulamanızın kısmi uyanık kalma kilitlerini aşırı kullandığı zamanları öğrenmenize yardımcı olabilir.

Android vitals

Android vitals, uygulamanızın kısmi uyanık kalma kilitlerini aşırı kullandığı durumlarda Play Console üzerinden sizi uyararak uygulamanızın performansını artırmanıza yardımcı olabilir.

Android vitals, tüm kısmi uyanık kalma kilitleri toplandığında 24 saatlik bir süre içinde 2 saat veya daha uzun süre çalıştığında kısmi uyanık kalma kilidi kullanımını aşırı olarak bildirir. Android vitals, uyanık kalma kilidi süresini yalnızca uygulama arka planda çalışırken veya ön plan hizmeti çalıştırırken uyanık kalma kilidi tutuluyorsa izler. Android vitals, şu anda kullanıcı tarafından başlatılan audio, location ve JobScheduler API'leri tarafından oluşturulan uyandırma kilitlerini uyandırma kilidi hesaplamasından muaf tutar.

Android vitals aşırı kısmi uyanık kalma kilidi kontrol paneli, uygulamanızla ilişkili muaf olmayan uyanık kalma kilidi adlarının dökümlerini sağlar. Bu dökümlerde etkilenen oturumlar ve süreler gösterilir.

28 günlük bir dönemde tüm cihazlardaki uygulama oturumlarının% 5'inden fazlasında aşırı kısmi uyanık kalma kilitleri oluşursa metrik beta sürümünden çıktıktan sonra bu durum, uygulamanızın Play'deki görünürlüğünü etkileyebilir.

Uygulamanızda aşırı sayıda kısmi uyanık kalma kilidi olduğunu öğrendikten sonraki adım, sorunu çözmektir.

Sorunu çöz

Uyandırma kilitleri cihazın pilini boşaltabileceğinden alternatif bir çözüm varsa uyandırma kilitlerini kullanmamalısınız. Cihazın uyanık kalmasını sağlamak 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 kilidiyle ilgili en iyi uygulamaları izleyerek uyandırma kilitlerinizin cihaz verimliliğini olumsuz etkilemediğinden emin olun. Özellikle, edindiğiniz her cihazın serbest bırakıldığından emin olun ve kilidi mümkün olduğunca hızlı bir şekilde serbest bırakın.

Uygulamanız, uyandırma kilidini açıkça edinmeseniz bile uyandırma kilitlerini kullanıyor olabilir. Tanımadığınız bir uygulamaya atfedilen uyanık tutma kilitleri görürseniz diğer API'ler tarafından oluşturulan uyanık tutma kilitlerini belirleme, bunları oluşturmuş olabilecek API'leri belirlemenize yardımcı olabilir.

Koddaki sorunu düzelttikten sonra yerel uyandırma kilidi hata ayıklama araçlarını kullanarak düzeltmelerinizi doğrulayabilirsiniz.

Ayrıca bkz.