Sobes.tech
Junior — Middle

Na co należy zwrócić uwagę podczas zapisywania stanu aplikacji za pomocą metody onSaveInstanceState?

sobes.tech AI

Odpowiedź od AI

Podczas korzystania z onSaveInstanceState ważne jest, aby pamiętać:

  • Zapisuj tylko małe i niezbędne dane, na przykład stan interfejsu użytkownika (tekst w polach, wybrane elementy).
  • Nie zapisuj dużych obiektów lub danych, które można odzyskać w inny sposób (np. z bazy danych lub sieci).
  • onSaveInstanceState jest wywoływane przed zniszczeniem aktywności, na przykład podczas obracania ekranu.
  • Odzyskiwanie danych odbywa się w metodach onCreate lub onRestoreInstanceState.
  • Używaj Bundle do zapisywania danych, obsługuje typy prymitywne, Serializable, Parcelable.

Przykład zapisywania tekstu z 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)
}