Sobes.tech
Junior — Middle

Cosa bisogna considerare quando si salva lo stato dell'applicazione usando il metodo onSaveInstanceState?

sobes.tech AI

Risposta dell'AI

Quando si utilizza onSaveInstanceState, è importante ricordare:

  • Salva solo dati piccoli e necessari, come lo stato dell'interfaccia utente (testo nei campi, elementi selezionati).
  • Non salvare oggetti grandi o dati che possono essere recuperati in altro modo (ad esempio, da un database o dalla rete).
  • onSaveInstanceState viene chiamato prima di distruggere l'attività, ad esempio durante la rotazione dello schermo.
  • Il ripristino dei dati avviene nel metodo onCreate o onRestoreInstanceState.
  • Usa Bundle per salvare i dati, supporta tipi primitivi, Serializable, Parcelable.

Esempio di salvataggio del testo da un 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)
}