Junior — Middle
Como é efetuado o gerenciamento da preservação do estado dos objetos em aplicações modernas?
sobes.tech IA
Resposta da IA
Nos aplicações Android modernas, a gestão do estado dos objetos é feita através de várias abordagens:
- ViewModel — armazena dados relacionados com a interface de utilizador e sobrevive às mudanças de configuração (por exemplo, rotação de ecrã), permitindo não perder o estado.
- SavedStateHandle — permite guardar e restaurar o estado do ViewModel quando o processo é destruído.
- onSaveInstanceState(Bundle) — método de Activity/Fragment para guardar pequenos dados num Bundle, que o sistema usa ao recriar o componente.
- Room ou outros bancos de dados — para armazenamento duradouro do estado e dados.
Exemplo de uso do ViewModel com preservação do estado:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var counter: Int
get() = state.get("counter") ?: 0
set(value) = state.set("counter", value)
}
Desta forma, o estado é guardado e restaurado automaticamente ao recriar componentes de UI.