釋放 Wake Lock

本頁說明如何釋放應用程式持有的喚醒鎖定。應用程式使用完畢後,請務必立即釋放喚醒鎖定,以免耗盡電池電量。

釋放有效的 Wake Lock

如要釋放作用中的喚醒鎖定,請呼叫其 release() 方法。這樣做會將 CPU 的聲明發布至 CPU。

舉例來說,下列程式碼會取得喚醒鎖定、執行一些工作,然後釋放喚醒鎖定:

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();
    }
}

請務必在不再需要時立即釋放 Wake Lock。舉例來說,如果您需要使用 Wake Lock 才能完成背景工作,請確保工作結束後就會釋放 Wake Lock。

這組代碼的重點

在這個範例中,方法 doTheWork() 可能會擲回例外狀況。因此,程式碼會在 finally 區塊中釋放喚醒鎖定,確保無論是否擲回例外狀況,喚醒鎖定都會釋放。請務必釋放您設定的每個喚醒鎖定,因此您需要檢查所有可能的程式碼路徑,確保喚醒鎖定不會在任何路徑上保持啟用狀態。

另請參閱