Sobes.tech
Junior — Middle

Какво трябва да се има предвид при запазване на състоянието на приложението с помощта на метода onSaveInstanceState?

sobes.tech AI

Отговор от AI

При използване на onSaveInstanceState е важно да запомните:

  • Запазвайте само малки и необходими данни, като състоянието на потребителския интерфейс (текст в полетата, избрани елементи).
  • Не запазвайте големи обекти или данни, които могат да бъдат възстановени по друг начин (например, от база данни или мрежа).
  • onSaveInstanceState се извиква преди унищожаването на активността, например при завъртане на екрана.
  • Възстановяването на данните става в метода onCreate или onRestoreInstanceState.
  • Използвайте Bundle за запазване на данните, поддържа прости типове, Serializable, Parcelable.

Пример за запазване на текст от 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)
}