SlideShare uma empresa Scribd logo
1 de 15
Ciclo de vida de una
                   app


El ciclo de vida de una actividad es de suma
  importancia para el programador, esto se
debe a que los componentes que la integran
reaccionan de diferente manera en distintos
                     .
 escenarios. Por ejemplo cuando el teléfono
               esta bloqueado.
¿Para que?



   Al ser las actividades (ventanas) sensibles a
situaciones como dejar la app en background, es
   necesario hacer un correcto manejo de esta
 situación, así sabremos que pasa cuando esta
regrese a primer plano o el usuario la abandone.
 Evitando así casos como la perdida de datos.
¿Quién?



  El ciclo de vida de la actividad no puede ser
     manejada por nosotros, ya que es una
tarea que se le asigna al SO, para que el pueda
   tomar decisiones conforme a los recursos
     disponibles y necesidades del usuario
Ciclo de vida de una
        app
Lista de métodos


- protected void onCreate(Bundle
  savedInstanceState);
-protected void onStart();
 -protected void onRestart();
-protected void onResume();
-protected void onPause();
-protected void onStop();
- protected void onDestroy();
¿Cuando paso todo
                    esto?




  Aunque hay algunas de estas etapas que
      podemos dejar sin manejar, si las
implementamos tendremos la seguridad que al
menos se ejecuta el método descrito en la clase
                  de arriba.
Ciclo de vida de una
                      app



          Vamos a mirar el gráfico y
        detallemos que es lo que pasa:

   Cuando la actividad es iniciada se entra al
estado “onCreate” y es aqui cuando la actividad
                  cobra vida.
Ciclo de vida de una
                     app



  Inmediatamente despues, se pasa al estado
 “onStart” , debemos de tener cuidado aquí, si
miramos con atencion no solo onCreate puede ir
  antes de onStart si no que también lo puede
 hacer onRestar cuando tu app regresa de ser
                   detenida.
Ciclo de vida de una
                      app



      El siguiente paso es onResume que
 sorprendentemente es desde aquí cuando la
 actividad se pone en primer plano y esta lista
            para ser usada, antes no!
Es este el estado en el que la actividad debería
               pasar más tiempo
Ciclo de vida de una
                      app




 Ahora el usuario puede quitar la actividad de
primer plano llamando a otra actividad, en este
 caso se pasa al estado onPause y si una vez
mas regresa a la actividad estaremos otra vez
                en onResume.
Ciclo de vida de una
                      app




 Pero también podria ser que el usuario deja la
  app en background y pasaríamos al estado
onStop. Si la reanuda iremos a onRestart pero si
     el sistema decide quitarla de memoria
        pasaremos al estado onDestroy.
¿Usarlos todos?


La mayoría de las actividades podrían vivir sin
  una implementación de cada uno de estos
  estados, pero es recomendable al menos
        hacerlo con con 3 de estos :

         onCreate que es donde debemos de
   iniciar la UI y la comunicación con otros
           componentes del sistema.
¿Usarlos todos?



 onPause como ultimo método a ser ejecutado
    (ya que onStop y onDestroy no esta
garantizado su ejecución) y donde deberíamos
  guardar datos de la actividad para después
                recuperarlos.
¿Usarlos todos?




onResume es donde recuperaremos los datos
guardados en onPause si es que volvemos de
               ese estado.
Ciclo de vida de una
                     app




Aunque el sistema maneje la actividad tenemos
  que implementar una buena solución para
garantizarle al usuario una buena experiencia.

         Irving Emmanuel Gónzalez

Mais conteúdo relacionado

Mais procurados

Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!Marco Avendaño
 
Framework Laravel
Framework LaravelFramework Laravel
Framework LaravelRafael Lobo
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Facultad de Ciencias y Sistemas
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android StudioSuyash Srijan
 
Extensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío SantiagoExtensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío Santiago2008PA2Info3
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesIván Campaña Naranjo
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentEric Cattoir
 

Mais procurados (20)

Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!
 
Informe software
Informe softwareInforme software
Informe software
 
Java con eclipse
Java con eclipseJava con eclipse
Java con eclipse
 
Framework Laravel
Framework LaravelFramework Laravel
Framework Laravel
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
proceso unificado de desarrollo
proceso unificado de desarrollo proceso unificado de desarrollo
proceso unificado de desarrollo
 
Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android Studio
 
Modelado conceptual de aplicaciones web
Modelado conceptual de aplicaciones webModelado conceptual de aplicaciones web
Modelado conceptual de aplicaciones web
 
Google Chrome os
Google Chrome osGoogle Chrome os
Google Chrome os
 
Gestion de procesos Android
Gestion de procesos AndroidGestion de procesos Android
Gestion de procesos Android
 
Estilos y Paradigmas de Interacción
Estilos y Paradigmas de InteracciónEstilos y Paradigmas de Interacción
Estilos y Paradigmas de Interacción
 
Modelo rad
Modelo radModelo rad
Modelo rad
 
Extensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío SantiagoExtensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío Santiago
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móviles
 
Tipos de plataformas web
Tipos de plataformas webTipos de plataformas web
Tipos de plataformas web
 
sistemas operativos moviles
sistemas operativos movilessistemas operativos moviles
sistemas operativos moviles
 
Google chrome OS
Google chrome OS Google chrome OS
Google chrome OS
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Java
JavaJava
Java
 

Destaque

Arquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en AndroidArquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en AndroidEventos Creativos
 
El ciclo de vida de una aplicacion
El ciclo de vida de una aplicacionEl ciclo de vida de una aplicacion
El ciclo de vida de una aplicacionHenrry Cartuche
 
Proceso de desarrollo de una aplicación móvil
Proceso de desarrollo de una aplicación móvilProceso de desarrollo de una aplicación móvil
Proceso de desarrollo de una aplicación móvilLoremSolutions
 
ciclo de vida de un computador
ciclo de vida de un computador ciclo de vida de un computador
ciclo de vida de un computador paoherdiaz180
 
Metodologia agil para el diseño de aplicaciones multimedias moviles
Metodologia agil para el diseño de aplicaciones multimedias movilesMetodologia agil para el diseño de aplicaciones multimedias moviles
Metodologia agil para el diseño de aplicaciones multimedias movilescristopherf
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del softwareGUEOVANNY20
 
El ciclo de vida del desarrollo de los sistemas de información
El ciclo de vida del desarrollo de los sistemas de informaciónEl ciclo de vida del desarrollo de los sistemas de información
El ciclo de vida del desarrollo de los sistemas de informaciónJose Daniel Pacheco Mejia
 

Destaque (8)

Arquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en AndroidArquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en Android
 
El ciclo de vida de una aplicacion
El ciclo de vida de una aplicacionEl ciclo de vida de una aplicacion
El ciclo de vida de una aplicacion
 
Proceso de desarrollo de una aplicación móvil
Proceso de desarrollo de una aplicación móvilProceso de desarrollo de una aplicación móvil
Proceso de desarrollo de una aplicación móvil
 
ciclo de vida de un computador
ciclo de vida de un computador ciclo de vida de un computador
ciclo de vida de un computador
 
Videojuegos (Ciclo de Vida)
Videojuegos (Ciclo de Vida)Videojuegos (Ciclo de Vida)
Videojuegos (Ciclo de Vida)
 
Metodologia agil para el diseño de aplicaciones multimedias moviles
Metodologia agil para el diseño de aplicaciones multimedias movilesMetodologia agil para el diseño de aplicaciones multimedias moviles
Metodologia agil para el diseño de aplicaciones multimedias moviles
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del software
 
El ciclo de vida del desarrollo de los sistemas de información
El ciclo de vida del desarrollo de los sistemas de informaciónEl ciclo de vida del desarrollo de los sistemas de información
El ciclo de vida del desarrollo de los sistemas de información
 

Semelhante a CicloVidaAppManejoEstados

Ensayo sobre los Sistemas operativos
Ensayo sobre los Sistemas operativosEnsayo sobre los Sistemas operativos
Ensayo sobre los Sistemas operativosAlberto Cruz Gonzalez
 
Unidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos movilesUnidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos movileskabis_yadira
 
Programación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. IntroducciónProgramación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. IntroducciónHoracio Maldonado Sea
 
Libro_ergonomia_1_parte.pdf
Libro_ergonomia_1_parte.pdfLibro_ergonomia_1_parte.pdf
Libro_ergonomia_1_parte.pdfAbigailOrigela
 
Android de la A a la Z Actividades ulises gonzalez
Android de la A a la Z   Actividades ulises gonzalezAndroid de la A a la Z   Actividades ulises gonzalez
Android de la A a la Z Actividades ulises gonzalezAndroid UNAM
 
Sentencias selectivas y repetitivas
Sentencias selectivas y repetitivasSentencias selectivas y repetitivas
Sentencias selectivas y repetitivasyoly1parra1
 
Dpss u3_a2_paov.pptx
 Dpss u3_a2_paov.pptx Dpss u3_a2_paov.pptx
Dpss u3_a2_paov.pptxPablo Olvera
 
Lógica de programación basica
Lógica de programación basicaLógica de programación basica
Lógica de programación basicaJackeline Quintero
 
Modulo 2 Modelo Ejecucion
Modulo 2 Modelo EjecucionModulo 2 Modelo Ejecucion
Modulo 2 Modelo EjecucionEduardo
 

Semelhante a CicloVidaAppManejoEstados (20)

Activity Lifecycle
Activity LifecycleActivity Lifecycle
Activity Lifecycle
 
Ensayo sobre los Sistemas operativos
Ensayo sobre los Sistemas operativosEnsayo sobre los Sistemas operativos
Ensayo sobre los Sistemas operativos
 
Los MIDlets
Los MIDletsLos MIDlets
Los MIDlets
 
Los mi dlets_imprimible
Los mi dlets_imprimibleLos mi dlets_imprimible
Los mi dlets_imprimible
 
Unidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos movilesUnidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos moviles
 
Los mi dlets_imprimible
Los mi dlets_imprimibleLos mi dlets_imprimible
Los mi dlets_imprimible
 
Programación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. IntroducciónProgramación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. Introducción
 
Libro_ergonomia_1_parte.pdf
Libro_ergonomia_1_parte.pdfLibro_ergonomia_1_parte.pdf
Libro_ergonomia_1_parte.pdf
 
Sincronizacion de procesos_android
Sincronizacion de procesos_androidSincronizacion de procesos_android
Sincronizacion de procesos_android
 
Android de la A a la Z Actividades ulises gonzalez
Android de la A a la Z   Actividades ulises gonzalezAndroid de la A a la Z   Actividades ulises gonzalez
Android de la A a la Z Actividades ulises gonzalez
 
Soluto - Tutorial de Uso - MP3.es
Soluto - Tutorial de Uso - MP3.esSoluto - Tutorial de Uso - MP3.es
Soluto - Tutorial de Uso - MP3.es
 
PREGUNTAS DE SISTEMAS OPERATIVOS
PREGUNTAS DE SISTEMAS OPERATIVOSPREGUNTAS DE SISTEMAS OPERATIVOS
PREGUNTAS DE SISTEMAS OPERATIVOS
 
Ctrl + z
Ctrl + zCtrl + z
Ctrl + z
 
Sentencias selectivas y repetitivas
Sentencias selectivas y repetitivasSentencias selectivas y repetitivas
Sentencias selectivas y repetitivas
 
Dpss u3_a2_paov.pptx
 Dpss u3_a2_paov.pptx Dpss u3_a2_paov.pptx
Dpss u3_a2_paov.pptx
 
Imperial math -_expo
Imperial math -_expoImperial math -_expo
Imperial math -_expo
 
Imperial math- Presentacion
Imperial math- PresentacionImperial math- Presentacion
Imperial math- Presentacion
 
Lógica de programación basica
Lógica de programación basicaLógica de programación basica
Lógica de programación basica
 
Modulo 2 Modelo Ejecucion
Modulo 2 Modelo EjecucionModulo 2 Modelo Ejecucion
Modulo 2 Modelo Ejecucion
 
Tema 4.4 Actividades
Tema 4.4 ActividadesTema 4.4 Actividades
Tema 4.4 Actividades
 

CicloVidaAppManejoEstados

  • 1. Ciclo de vida de una app El ciclo de vida de una actividad es de suma importancia para el programador, esto se debe a que los componentes que la integran reaccionan de diferente manera en distintos . escenarios. Por ejemplo cuando el teléfono esta bloqueado.
  • 2. ¿Para que? Al ser las actividades (ventanas) sensibles a situaciones como dejar la app en background, es necesario hacer un correcto manejo de esta situación, así sabremos que pasa cuando esta regrese a primer plano o el usuario la abandone. Evitando así casos como la perdida de datos.
  • 3. ¿Quién? El ciclo de vida de la actividad no puede ser manejada por nosotros, ya que es una tarea que se le asigna al SO, para que el pueda tomar decisiones conforme a los recursos disponibles y necesidades del usuario
  • 4. Ciclo de vida de una app
  • 5. Lista de métodos - protected void onCreate(Bundle savedInstanceState); -protected void onStart(); -protected void onRestart(); -protected void onResume(); -protected void onPause(); -protected void onStop(); - protected void onDestroy();
  • 6. ¿Cuando paso todo esto? Aunque hay algunas de estas etapas que podemos dejar sin manejar, si las implementamos tendremos la seguridad que al menos se ejecuta el método descrito en la clase de arriba.
  • 7. Ciclo de vida de una app Vamos a mirar el gráfico y detallemos que es lo que pasa: Cuando la actividad es iniciada se entra al estado “onCreate” y es aqui cuando la actividad cobra vida.
  • 8. Ciclo de vida de una app Inmediatamente despues, se pasa al estado “onStart” , debemos de tener cuidado aquí, si miramos con atencion no solo onCreate puede ir antes de onStart si no que también lo puede hacer onRestar cuando tu app regresa de ser detenida.
  • 9. Ciclo de vida de una app El siguiente paso es onResume que sorprendentemente es desde aquí cuando la actividad se pone en primer plano y esta lista para ser usada, antes no! Es este el estado en el que la actividad debería pasar más tiempo
  • 10. Ciclo de vida de una app Ahora el usuario puede quitar la actividad de primer plano llamando a otra actividad, en este caso se pasa al estado onPause y si una vez mas regresa a la actividad estaremos otra vez en onResume.
  • 11. Ciclo de vida de una app Pero también podria ser que el usuario deja la app en background y pasaríamos al estado onStop. Si la reanuda iremos a onRestart pero si el sistema decide quitarla de memoria pasaremos al estado onDestroy.
  • 12. ¿Usarlos todos? La mayoría de las actividades podrían vivir sin una implementación de cada uno de estos estados, pero es recomendable al menos hacerlo con con 3 de estos : onCreate que es donde debemos de iniciar la UI y la comunicación con otros componentes del sistema.
  • 13. ¿Usarlos todos? onPause como ultimo método a ser ejecutado (ya que onStop y onDestroy no esta garantizado su ejecución) y donde deberíamos guardar datos de la actividad para después recuperarlos.
  • 14. ¿Usarlos todos? onResume es donde recuperaremos los datos guardados en onPause si es que volvemos de ese estado.
  • 15. Ciclo de vida de una app Aunque el sistema maneje la actividad tenemos que implementar una buena solución para garantizarle al usuario una buena experiencia. Irving Emmanuel Gónzalez