Sobes.tech
Junior — Middle

Como pode libertar os recursos do ViewModel ao regressar ao ecrã anterior?

sobes.tech IA

Resposta da IA

O ViewModel no Android vive tanto quanto o controlador de UI associado (Activity ou Fragment). Ao regressar à tela anterior, se o ViewModel não for mais necessário, seus recursos são liberados automaticamente quando o LifecycleOwner associado é destruído.

Se for necessário liberar recursos explicitamente (por exemplo, cancelar coroutines, fechar conexões), isso pode ser feito no método onCleared() do ViewModel:

class MyViewModel : ViewModel() {
    override fun onCleared() {
        super.onCleared()
        // Liberar recursos, cancelar tarefas
    }
}

É importante que, ao regressar à tela anterior, a tela atual seja destruída, assim o ViewModel também será limpo.