Ciclo de vida de una actividad



Como vimos en el post “Procesos en Android” el sistema operativo es el encargado de pausar, parar o destruir nuestra aplicación según las necesidades de recursos del dispositivo, aún así,  nosotros como desarrolladores debemos aprender a controlar todos estos eventos para hacer nuestras aplicaciones robustas y mejorar el rendimiento de los teléfonos.
Para entender esta parte explicaré el ciclo de vida de una actividad, que representa cada una de las pantallas de nuestra aplicación. A continuación cito un diagrama que también puedes encontrar en la documentación oficial de Android Developers:
Pasemos a explicar cada uno de los métodos:
  • onCreate(): Se dispara cuando la Activity es llamada por primera vez. Aquí es donde debemos crear la inicialización normal de la aplicación, crear vistas, hacer los bind de los datos, etc. Este método te da acceso al estado de la aplicación cuando se cerró. Después de esta llamada siempre se llama al onStart().
  • onRestart(): Se ejecuta cuando tu Activity ha sido parada, y quieres volver a utilizarla. Si ves el diagrama podrás ver que después de un onStop() se ejecuta el onRestart() e inmediatamente llama a un onStart().
  • onStart(): Se ejecuta cuando la Activity se está mostrando apenas en la pantalla del dispositivo del usuario.
  • onResume(): Se ejecuta una vez que la Activity ha terminado de cargarse en el dispositivo y el usuario empieza a interactuar con la aplicación. Cuando el usuario ha terminado de utilizarla es cuando se llama al método onPause().
  • onPause(): Se ejecuta cuando el sistema arranca una nueva Activity que necesitará los recursos del sistema centrados en ella. Hay que procurar que la llamada a este método sea rápida ya que hasta que no se termine su ejecución no se podrá arrancar la nuevaActivity. Después de esta llamada puede venir un onResume() si la Activity que haya ejecutado el onPause() vuelve a aparecer en primer plano o un onStop() si se hace invisible para el usuario.
  • onStop(): Se ejecuta cuando la Activity ya no es visible para el usuario porque otra Activityha pasado a primer plano. Si vemos el diagrama, después de que se ha ejecutado este método nos quedan tres opciones: ejecutar el onRestart() para que la Activity vuelva a aparecer en primer plano, que el sistema elimine este proceso porque otros procesos requieran memoria o ejecutar el onDestroy() para apagar la aplicación.
  • onDestroy(): Esta es la llamada final de la Activity, después de ésta, es totalmente destruida. Esto pasa por los requerimientos de memoria que tenga el sistema o porque de manera explícita el usuario manda a llamar este método. Si quisiéramos volver a ejecutar la Activity se arrancaría un nuevo ciclo de vida.

0 comentarios:

Publicar un comentario

 
Android Community Network © 2012