Sobes.tech
Junior — Middle

O que deve ser considerado ao salvar o estado da aplicação usando o método onSaveInstanceState?

sobes.tech IA

Resposta da IA

Ao usar onSaveInstanceState, é importante lembrar:

  • Guarde apenas dados pequenos e necessários, como o estado da interface do utilizador (texto nos campos, elementos selecionados).
  • Não guarde objetos grandes ou dados que possam ser recuperados de outra forma (por exemplo, de uma base de dados ou rede).
  • onSaveInstanceState é chamado antes de destruir a atividade, por exemplo, ao rodar a tela.
  • A recuperação de dados ocorre no método onCreate ou onRestoreInstanceState.
  • Use Bundle para guardar dados, suportando tipos primitivos, Serializable, Parcelable.

Exemplo de guardar texto de um EditText:

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putString("input_text", editText.text.toString())
}

override fun onRestoreInstanceState(savedInstanceState: Bundle) {
    super.onRestoreInstanceState(savedInstanceState)
    val text = savedInstanceState.getString("input_text")
    editText.setText(text)
}