Persistir el estado
onSaveInstaceState/onRestoreInstanceState
Método que sirve para guardar el estado transitorio de la actividad, es decir el estado temporal. El sistema llama a onSaveInstanceState
antes de que la actividad sea vulnerable a ser destruida.
Ejemplos de estado transitorio:
No hay garantía de que onSaveInstanceState
será llamado antes de que se destruya la actividad, porque hay casos en los que no es necesario (como cuando el usuario abandona la actividad al presionar el botón back), por lo tanto este método solo debe ser utilizado para guardar el estado transitorio.
onRetainNonConfigurationInstance/getLastNonConfigurationInstance
Sirve para mantener instancias de objetos vivas en memoria, nota: si se muere el proceso no retiene la instancia.
getLastNonConfigurationInstance
: Returns the object previously returned by onRetainNonConfigurationInstance().
onPause/onResume
Sirve para guardar el estado persistente de una actividad, nota: El estado persistente no necesariamente se tiene que guardar en estos métodos, por ejemplo: se desea guardar el ranking de una canción en un reproductor de música, se podría guardar cada que el usuario lo cambia. Sin embargo, si el guardar el ranking elegido fuese un proceso costoso, entonces sería conveniente guardar el estado en el método onPause().