Junior — Middle
Como é que a preservação de dados é feita dentro do ViewModel em aplicações Android?
sobes.tech IA
Resposta da IA
No Android, o ViewModel guarda os dados que devem sobreviver às mudanças de configuração (por exemplo, rotação de tela). Para isso, o ViewModel mantém o estado em seus campos, e ao recriar a Activity ou Fragment, os dados permanecem acessíveis.
Se precisar guardar dados em caso de destruição completa da aplicação, usa-se o SavedStateHandle, um objeto especial que permite guardar e restaurar o estado.
Exemplo de uso do ViewModel com SavedStateHandle:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var userName: String?
get() = state["userName"]
set(value) {
state["userName"] = value
}
}
Dessa forma, os dados dentro do ViewModel são armazenados na memória, e, se necessário, no SavedStateHandle para recuperação após a destruição do processo.