Teoría: Estados de un Activity extendido
Bien tras una primera visualización de un Activity y sus estados, voy a describir mejor sus estados para conocerlos, no os preocupeis si no entendeis algunos conceptos, programando no lo vais a tener muy en cuenta hasta que no hagamos cosas serias, no obstante es muy bueno ir viendolo.
Una actividad en Android puede estar en uno de estos cuatro estados:
Cada vez que una actividad cambia de estado se van a producir eventos que podrán ser capturados por ciertos métodos de la actividad. A continuación se muestra un esquema que ilustra los métodos que capturan estos eventos.
Una actividad en Android puede estar en uno de estos cuatro estados:
- Activa (Running): La actividad está encima de la pila, lo que quiere decir que es visible y tiene el foco.
- Visible (Paused): La actividad es visible
pero no tiene el foco. Se alcanza este estado cuando pasa a activa otra
actividad con alguna parte transparente o que no ocupa toda la pantalla.
Cuando una actividad está tapada por completo, pasa a estar parada.
- Parada (Stopped): Cuando la actividad no es visible, se recomienda guardar el estado de la interfaz de usuario, preferencias, etc.
- Destruida (Destroyed): Cuando la actividad termina al invocarse el método finish(), o es matada por el sistema Android, sale de la pila de actividades.
Cada vez que una actividad cambia de estado se van a producir eventos que podrán ser capturados por ciertos métodos de la actividad. A continuación se muestra un esquema que ilustra los métodos que capturan estos eventos.
onCreate(Bundle): Se llama en la creación de la
actividad. Se utiliza para realizar todo tipo de inicializaciones, como
la creación de la interfaz de usuario o la inicialización de estructuras
de datos. Puede recibir información de estado de instancia (en una
instancia de la clase Bundle), por si se reanuda desde una actividad que
ha sido destruida y vuelta a crear.
onStart(): Nos indica que la actividad está a punto de ser mostrada al usuario.
onResume(): Se llama cuando la actividad va a comenzar
a interactuar con el usuario. Es un buen lugar para lanzar las
animaciones y la música.
onPause(): Indica que la actividad está a punto de ser
lanzada a segundo plano, normalmente porque otra aplicación es lanzada.
Es el lugar adecuado para detener animaciones, música o almacenar los
datos que estaban en edición.
onStop(): La actividad ya no va a ser visible para el
usuario. Ojo si hay muy poca memoria, es posible que la actividad se
destruya sin llamar a este método.
onRestart(): Indica que la actividad va a volver a ser representada después de haber pasado poronStop().
onDestroy(): Se llama antes de que la actividad sea
totalmente destruida. Por ejemplo, cuando el usuario pulsa el botón
<volver> o cuando se llama al método finish(). Ojo si hay muy poca memoria, es posible que la actividad se destruya sin llamar a este método.
Comentarios
Publicar un comentario