Cómo liberar un bloqueo de activación

En esta página, se describe cómo retirar un bloqueo de activación que mantiene tu app. Es importante retirar 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 retira tu solicitud de uso de la CPU.

Por ejemplo, el siguiente código adquiere un bloqueo de activación, realiza algún trabajo y, luego, libera el bloqueo de activación:

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 utilizas 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 el bloqueo de activación, independientemente de si se arroja una excepción o no. 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.

Consulta también