Kısmi uyanık tutma kilitleri, PowerManager API'sindeki bir mekanizmadır. Bu mekanizma, cihazın ekranı kapandıktan sonra (sistem zaman aşımı veya kullanıcının güç düğmesine basması nedeniyle) geliştiricilerin CPU'yu çalıştırmaya devam etmesine olanak tanır. Uygulamanız, PARTIAL_WAKE_LOCK işaretiyle acquire() çağrısı yaparak veya uyanık tutma kilitleri alan diğer API'leri kullanarak kısmi uyanık tutma kilidi alır. Kısmi uyanık tutma kilitlerinin aşırı kullanımı, cihazın daha düşük güç durumlarına girmesini engellediği için cihazın pilini tüketir. Kısmi uyanık tutma kilitleri yalnızca gerektiğinde kullanılmalı ve artık ihtiyaç duyulmadığında 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.
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ışıyorsa 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 bir ö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 uyanık kalma kilitlerini uyanık kalma kilidi hesaplamasından muaf tutar.
Android vitals aşırı sayıda kısmi uyanık kalma kilidi kontrol panelinde, uygulamanızla ilişkili ve muaf tutulmayan uyanık kalma kilidi adlarının dökümleri sağlanır. 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 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 düzeltme
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ı takip ederek uyandırma kilitlerinizin cihaz verimliliğini olumsuz etkilemediğinden emin olun. Özellikle, edindiğiniz her cihazın serbest bırakıldığından ve kilidin mümkün olduğunca hızlı bir şekilde serbest bırakıldığından emin olun.
Uygulamanız, uyandırma kilidini açıkça edinmiyor olsanız bile uyandırma kilitlerini kullanıyor olabilir. Tanımadığınız bir uygulamaya atfedilen uyandırma kilitleri görürseniz diğer API'ler tarafından oluşturulan uyandırma kilitlerini belirleme, bunları oluşturmuş olabilecek API'leri belirlemenize yardımcı olabilir.
Koddaki sorunu düzelttikten sonra yerel uyanık kalma kilidi hata ayıklama araçlarını kullanarak düzeltmelerinizi doğrulayabilirsiniz.
Aşağıdaki kaynakları da incelemenizi öneririz:
- Takılı kalan kısmi uyanık kalma kilitleri
- Cihazın uyanık kalması için doğru API'yi seçme
- Uyanık kalma kilidi belgeleri
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir.
- Donmuş kare
- Sürekli entegrasyonda karşılaştırma testleri çalıştırma
- Makro karşılaştırma testi olmadan temel profiller oluşturma ve ölçme