Sobes.tech
Junior — Middle

¿Qué se debe tener en cuenta al guardar el estado de la aplicación usando el método onSaveInstanceState?

sobes.tech AI

Respuesta de la IA

Al usar onSaveInstanceState, es importante recordar:

  • Solo guarda datos pequeños y necesarios, como el estado de la interfaz de usuario (texto en los campos, elementos seleccionados).
  • No guardes objetos grandes o datos que puedan recuperarse de otra manera (por ejemplo, desde una base de datos o la red).
  • onSaveInstanceState se llama antes de destruir la actividad, por ejemplo, al rotar la pantalla.
  • La recuperación de datos ocurre en el método onCreate o onRestoreInstanceState.
  • Usa Bundle para guardar datos, soporta tipos primitivos, Serializable, Parcelable.

Ejemplo de guardar texto desde 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)
}