Desarrollo Android: ¿Importa el Ciclo de Vida de los Activities?

Desarrollo Android: ¿Importa el Ciclo de Vida de los Activities?

Si llevas algún tiempo desarrollando en el maravilloso mundo de Android es posible que hayas notado que en ocasiones tu App se comporta de forma extraña cuando rotas la pantalla, puedes obtener resultados inesperados, o tu App puede detenerse o reiniciarse, en especial si estás ejecutando tareas en segundo plano.

Es posible que hayas pensado que, ya que el problema solo se presenta al rotar la pantalla, pues lo mejor sería desactivar esta característica, y de hecho puede hacerse con facilidad, (editando el manifest.xml) pero debes pensar dos veces antes de hacerlo, te diré por qué.

Es casi seguro que el comportamiento inusual de tu App sea solo un síntoma de un problema un tanto más complejo, que se origina en la misma naturaleza de Android, pues éste trabaja con recursos muy limitados. En muchos casos, por ejemplo, cada vez que un Activity queda oculto tras otro Activity u otra App, Android puede destruirlo por completo y reconstruirlo cuando vuelves a él.

Para que esto funcione, antes de destruir el Activity la información requerida para reconstruirlo debe ser almacenada. Android se encarga automáticamente de guardar y recuperar parte de la información en muchos casos, pero si tienes algo más que debe guardarse, como variables de Objeto, deberás hacerlo manualmente, usando los métodos del ciclo de vida del Activity.

Existen muchos eventos que pueden ocasionar que tu Activity sea destruido y reconstruido, por ejemplo:

  • Que el usuario cambie de aplicación.
  • Que entre una llamada.
  • Que cambie la configuración del sistema.
  • Que la cantidad de memoria disponible se esté agotando.
  • Que el usuario rote la pantalla.

En este sentido Android es un ambiente bastante volátil, tus Activities pueden ser destruidos y reconstruidos en cualquier momento así que debes prepararlos usando los métodos del ciclo de vida.

Si tus Activities no están bien, evitar que la pantalla rote solo hará que la falla se manifieste menos seguido, pero no la corregirá, por ejemplo, fallará cuando el usuario reciba una llamada. Si tus Activities implementan correctamente el ciclo de vida y quieres bloquear la rotación por motivos estéticos, funcionales etc. Adelante.

La situación puede hacerse más compleja si tu Activity estaba ejecutando alguna tarea en segundo plano al momento de ser destruido,  puedes leer más sobre el ciclo de vida y como usarlo en el siguiente artículo, no olvides compartir si te gustó.

Deja un Comentario

CAPTCHA code
X