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.