Junior — Middle
Ką reikia atsižvelgti išsaugant programos būseną naudojant metodą onSaveInstanceState?
sobes.tech AI
Atsakymas iš AI
Naudojant onSaveInstanceState svarbu prisiminti:
- Saugoti tik mažus ir būtinus duomenis, pvz., UI būseną (tekstas laukuose, pasirinkti elementai).
- Nesaugoti didelių objektų ar duomenų, kuriuos galima atkurti kitaip (pvz., iš duomenų bazės ar tinklo).
- onSaveInstanceState kviečiamas prieš veiklos sunaikinimą, pvz., ekrano pasukimo metu.
- Duomenų atstatymas vyksta metodų onCreate arba onRestoreInstanceState metu.
- Naudokite Bundle duomenų saugojimui, palaiko pagrindinius tipus, Serializable, Parcelable.
Pavyzdys, kaip išsaugoti tekstą iš 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)
}