Esta página descreve como liberar um wake lock mantido pelo seu 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()
. Isso libera sua reivindicação para a CPU.
Por exemplo, o código a seguir adquire um wake lock, faz algum trabalho e libera o wake lock:
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 eles 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 o bloqueio assim que a tarefa terminar.
Pontos principais sobre esse código
Neste exemplo, o método doTheWork()
pode gerar uma exceção. Por isso, 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 bloqueios de despertar definidos sejam liberados. Portanto, verifique todos os caminhos de código possíveis para garantir que o bloqueio de despertar não seja deixado ativo em nenhum deles.