En esta página, se describe cómo liberar un bloqueo de activación que mantiene tu app. Es importante liberar un bloqueo de activación tan pronto como la app termine de usarlo para evitar que se agote la batería.
Cómo liberar un bloqueo de activación activo
Para liberar un bloqueo de activación activo, llama a su método release()
. De esta manera, se libera tu solicitud de uso de la CPU.
Por ejemplo, el siguiente código adquiere un bloqueo de activación, realiza algunas tareas y, luego, lo libera:
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();
}
}
Asegúrate de liberar los bloqueos de activación cuando ya no se necesiten. Por ejemplo, si usas un bloqueo de activación para permitir que finalice una tarea en segundo plano, asegúrate de liberar el bloqueo en cuanto finalice la tarea.
Puntos clave sobre este código
En este ejemplo, el método doTheWork()
podría generar una excepción. Por este motivo, el código libera el bloqueo de activación en el bloque finally
para asegurarse de que se libere, independientemente de que se arroje una excepción. Es muy importante asegurarse de que se libere cada bloqueo de activación que establezcas, por lo que debes verificar cada ruta de código posible para asegurarte de que el bloqueo de activación no quede activo en ninguna de ellas.