Esta página descreve como liberar um wake lock mantido pelo app. É importante liberar um wake lock assim que o app terminar de usá-lo para evitar o esgotamento da bateria.
Liberar um wake lock ativo
Para liberar um wake lock ativo, chame o método release()
dele. Isso
libera sua reivindicação para a CPU.
Por exemplo, o código a seguir adquire um bloqueio de ativação, faz algum trabalho e libera o bloqueio de ativação:
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();
}
}
Libere os wake locks assim que não forem mais necessários. Por exemplo, se você usa um wake lock para permitir que uma tarefa em segundo plano seja concluída, libere a trava assim que a tarefa for concluída.
Pontos principais sobre esse código
Neste exemplo, o método doTheWork()
pode gerar uma exceção. Por esse
motivo, o código libera o wake lock no bloco finally
para garantir
que ele seja liberado, mesmo que uma exceção seja gerada. É muito
importante garantir que todos os wake locks definidos sejam liberados. Portanto, você precisa
verificar todos os caminhos de código possíveis para garantir que o wake lock não seja deixado ativo
em nenhum deles.