Junior — Middle
Na čo je potrebné myslieť pri ukladaní stavu aplikácie pomocou metódy onSaveInstanceState?
sobes.tech AI
Odpoveď od AI
Pri používaní onSaveInstanceState je dôležité pamätať:
- Ukladajte iba malé a nevyhnutné údaje, ako je stav používateľského rozhrania (text v poliach, vybrané prvky).
- Neukladajte veľké objekty alebo údaje, ktoré je možné obnoviť iným spôsobom (napríklad z databázy alebo siete).
- onSaveInstanceState sa volá pred zničením aktivity, napríklad pri otáčaní obrazovky.
- Obnovenie údajov prebieha v metódach onCreate alebo onRestoreInstanceState.
- Používajte Bundle na uloženie údajov, podporuje primitívne typy, Serializable, Parcelable.
Príklad uloženia textu 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)
}