Sobes.tech
Junior — Middle

Quais métodos garantem a preservação do estado dos dados ao recriar uma Activity no Android?

sobes.tech IA

Resposta da IA

Para manter o estado dos dados ao recriar uma Activity no Android, normalmente usam-se métodos de salvaguarda e restauração do estado através de Bundle.

Abordagens principais:

  • Sobrescrever o método onSaveInstanceState(Bundle outState) e guardar os dados necessários em outState.
  • No método onCreate(Bundle savedInstanceState) ou onRestoreInstanceState(Bundle savedInstanceState), restaurar os dados a partir de savedInstanceState.

Exemplo:

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putString("key", someValue);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (savedInstanceState != null) {
        someValue = savedInstanceState.getString("key");
    }
}

Também é possível usar ViewModel para armazenar dados que sobrevivem à recriação da Activity sem necessidade de salvá-los manualmente em um Bundle.