Uyanık kalma kilidini bırakma

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.

Ayrıca bkz.