Uyanık kalma kilidini bırakma

Bu sayfada, uygulamanızın tuttuğu uyanık tutma kilidinin nasıl serbest bırakılacağı açıklanmaktadır. Pilin boşalmasını önlemek için uygulamanız uyanık tutma kilidini kullanmayı bitirir bitirmez serbest bırakmanız önemlidir.

Etkin bir uyanık kalma kilidini serbest bırakma

Etkin bir uyandırma kilidini serbest bırakmak için release() yöntemini çağırın. Bunu yaptığınızda CPU'daki talebiniz serbest bırakılır.

Örneğin, aşağıdaki kod uyandırma kilidi alır, bazı işlemler yapar ve ardından uyandırma kilidini serbest 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();
    }
}

Gerekli olmadıkları anda uyandırma kilitlerini serbest bıraktığınızdan emin olun. Örneğin, bir arka plan görevinin tamamlanmasına izin vermek için uyanık kalma kilidi kullanıyorsanız görev tamamlanır tamamlanmaz kilidi serbest bıraktığınızdan emin olun.

Bu kodla ilgili önemli noktalar

Bu örnekte, doTheWork() yöntemi istisna hatası verebilir. Bu nedenle, kod, bir istisna oluşturulup oluşturulmadığından bağımsız olarak uyandırma kilidinin serbest bırakıldığından emin olmak için finally bloğunda uyandırma kilidini serbest bırakır. Ayarladığınız her uyandırma kilidinin serbest bırakıldığından emin olmanız çok önemlidir. Bu nedenle, uyandırma kilidinin herhangi bir kod yolunda etkin kalmadığından emin olmak için olası tüm kod yollarını kontrol etmeniz gerekir.

Ayrıca bkz.