Sobes.tech
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)
}