本頁說明如何釋放應用程式持有的喚醒鎖定。應用程式使用完畢後,請務必立即釋放喚醒鎖定,以免耗盡電池電量。
釋放有效的 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
區塊中釋放喚醒鎖定,確保無論是否擲回例外狀況,喚醒鎖定都會釋放。請務必釋放您設定的每個喚醒鎖定,因此您需要檢查所有可能的程式碼路徑,確保喚醒鎖定不會在任何路徑上保持啟用狀態。