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

Kısmi uyanık kalma kilitleri, PowerManager API'sinde geliştiricilerin, cihazın ekranı kapandıktan sonra (sistem zaman aşımı nedeniyle veya kullanıcının güç düğmesine basmasıyla) CPU'nun çalışmaya devam etmesini sağlayan bir mekanizmadır. 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ıyor. 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ızda kısmi uyanık kalma kilitleri aşırı kullanılıyorsa sorunu teşhis etmek ve düzeltmek için bu sayfadaki yönergelerden yararlanabilirsiniz.

Sorunu tespit etme

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

Android vitals

Android vitals, uygulamanızın kısmi uyanık kalma kilitlerini aşırı kullanması durumunda 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 ses, konum ve JobScheduler kullanıcı tarafından başlatılan API'ler tarafından oluşturulan uyandırma kilitlerini uyandırma kilidi hesaplamasından muaf tutar.

Android vitals aşırı sayıda 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 süre içinde tüm cihazlardaki uygulama oturumlarının% 5'inden fazlasında aşırı kısmi uyanık kalma kilitleri oluşursa bu durum, metrik beta sürümünden çıktıktan sonra 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 gidermektir.

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ı izleyin ve uyandırma kilitlerinizin cihaz verimliliğini olumsuz etkilemediğinden emin olun. Özellikle, edindiğiniz her cihazın kilidinin açıldığından emin olun ve kilidi mümkün olduğunca hızlı bir şekilde açı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.