释放唤醒锁

本页介绍如何释放应用持有的唤醒锁。应用使用唤醒锁完毕后立即释放它很重要,以避免耗尽电池电量。

释放活动的唤醒锁

要释放活动的唤醒锁,请调用其 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 块中释放唤醒锁,以确保无论是否抛出异常,唤醒锁都会被释放。确保您设置的每个唤醒锁都被释放非常重要,因此您需要检查每个可能的代码路径,以确保唤醒锁不会在其中任何一个路径上保持活动状态。

另请参阅