Bu sayfada, uygulamanızın tuttuğu bir uyanık tutma kilidinin nasıl kaldırılacağı açıklanmaktadır. Pilin tükenmesini önlemek için uygulamanız bu kilidi kullanmayı bıraktığında hemen kaldırmalıdır.
Etkin bir uyanık kalma kilidini kaldırma
Etkin bir uyanma kilidini kaldırmak için release()
yöntemini çağırın. Bu işlem, hak talebinizi CPU'ya iletir.
Örneğin, aşağıdaki kod uyandırma kilidi alır, bazı işlemler yapar ve ardından uyandırma kilidini bırakır:
Kotlin
@Throws(MyException::class)
fun doSomethingAndRelease() {
wakeLock.apply {
try {
acquire()
doTheWork()
} finally {
release()
}
}
}
Java
void doSomethingAndRelease() throws MyException {
try {
wakeLock.acquire();
doTheWork();
} finally {
wakeLock.release();
}
}
Artık ihtiyaç duyulmadığında uyandırıcı kilitleri serbest bıraktığınızdan emin olun. Örneğin, arka plandaki bir görevin tamamlanmasına izin vermek için uyanık kalma kilidi kullanıyorsanız görev tamamlanır tamamlanmaz kilidi kaldırdığınızdan emin olun.
Bu kodla ilgili önemli noktalar
Bu örnekte doTheWork()
yöntemi istisna hatası verebilir. Bu nedenle kod, istisna atlanıp atlanmadığından bağımsız olarak uyanma kilidinin serbest bırakılmasını sağlamak için finally
bloğunda uyanma kilidini serbest bırakır. Belirlediğiniz her uyanma kilidinin serbest bırakıldığından emin olmak çok önemlidir. Bu nedenle, uyanma kilidinin hiçbirinde etkin bırakılmadığından emin olmak için mümkün olan her kod yolunu kontrol etmeniz gerekir.