Junior — Middle
Ko jāņem vērā, saglabājot lietotnes stāvokli, izmantojot metodi onSaveInstanceState?
sobes.tech AI
Atbilde no AI
Izmantojot onSaveInstanceState, ir svarīgi atcerēties:
- Saglabājiet tikai mazus un nepieciešamos datus, piemēram, lietotāja saskarnes stāvokli (teksts laukos, atlasītie elementi).
- Neuzglabājiet lielus objektus vai datus, kurus var atjaunot citādi (piemēram, no datu bāzes vai tīkla).
- onSaveInstanceState tiek izsaukts pirms aktivitātes iznīcināšanas, piemēram, ekrāna apgriešanas laikā.
- Datu atjaunošana notiek metodēs onCreate vai onRestoreInstanceState.
- Izmantojiet Bundle datu saglabāšanai, tas atbalsta primitivus tipus, Serializable, Parcelable.
Piemērs, kā saglabāt teksta saturu no 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)
}