釋放 Wake Lock

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

釋放有效的喚醒鎖

如要釋放有效的喚醒鎖定,請呼叫其 release() 方法。這樣做會釋出您對 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 才能完成背景工作,請務必在工作結束後立即釋放鎖定。

這段程式碼的重點

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

另請參閱