本页介绍如何释放应用持有的唤醒锁。应用使用唤醒锁完毕后立即释放它很重要,以避免耗尽电池电量。
释放活动的唤醒锁
要释放活动的唤醒锁,请调用其 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();
}
}
务必在不再需要唤醒锁时立即释放它们。例如,如果您使用唤醒锁来允许后台任务完成,请确保任务一完成就释放该锁。
关于此代码的要点
在此示例中,方法 doTheWork()
可能会抛出异常。因此,代码在 finally
块中释放唤醒锁,以确保无论是否抛出异常,唤醒锁都会被释放。确保您设置的每个唤醒锁都被释放非常重要,因此您需要检查每个可能的代码路径,以确保唤醒锁不会在其中任何一个路径上保持活动状态。