Sobes.tech
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.