Kısmi uyanık kalma kilitleri, PowerManager API'sindeki bir mekanizmadır. Bu mekanizma, 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ğlar. Uygulamanız, acquire() işlevini PARTIAL_WAKE_LOCK işaretiyle çağırarak veya uyanık kalma kilidi alan diğer API'leri kullanarak kısmi uyanık kalma kilidi alıyor.
Kısmi uyandırma 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 hemen 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 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 başlıklı 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 kilidinin açıldığından ve kilidin mümkün olduğunca hızlı bir şekilde açıldığından emin olun.
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 kalma kilitleri görürseniz diğer API'ler tarafından oluşturulan uyanık kalma 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