Sobes.tech
Junior — Middle

Mit kell figyelembe venni az alkalmazás állapotának mentésekor az onSaveInstanceState módszerrel?

sobes.tech MI

Válasz az MI-től

Az onSaveInstanceState használata során fontos megjegyezni:

  • Csak kis és szükséges adatokat mentsen, például a felhasználói felület állapotát (szöveg a mezőkben, kiválasztott elemek).
  • Ne mentse nagy objektumokat vagy adatokat, amelyeket más módon lehet helyreállítani (például adatbázisból vagy hálózatból).
  • Az onSaveInstanceState a tevékenység megsemmisítése előtt hívódik meg, például a képernyő forgatásakor.
  • Az adatok helyreállítása az onCreate vagy az onRestoreInstanceState módszerben történik.
  • Használjon Bundle-t az adatok mentésére, támogatja az primitív típusokat, Serializable-t, Parcelable-t.

Példa a szöveg mentésére egy EditText-ből:

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)
}