Sobes.tech
Junior — Middle

Waar moet je rekening mee houden bij het opslaan van de staat van de app met behulp van de onSaveInstanceState-methode?

sobes.tech AI

Antwoord van AI

Bij het gebruik van onSaveInstanceState is het belangrijk om te onthouden:

  • Bewaar alleen kleine en noodzakelijke gegevens, zoals de status van de gebruikersinterface (tekst in velden, geselecteerde items).
  • Bewaar geen grote objecten of gegevens die op een andere manier kunnen worden hersteld (bijvoorbeeld uit een database of netwerk).
  • onSaveInstanceState wordt aangeroepen voordat de activiteit wordt vernietigd, bijvoorbeeld bij het draaien van het scherm.
  • Het herstellen van gegevens gebeurt in de methode onCreate of onRestoreInstanceState.
  • Gebruik Bundle om gegevens op te slaan, ondersteund primitieve types, Serializable, Parcelable.

Voorbeeld van het opslaan van tekst uit een 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)
}