Ciclo de vida de la aplicación Xamarin.Forms

La clase base Application proporciona las características siguientes:

Métodos de ciclo de vida

La clase Application contiene tres métodos virtuales que pueden reemplazarse para responder a cambios en el ciclo de vida:

  • OnStart: se llama cuando se inicia la aplicación.
  • OnSleep: se llama cada vez que la aplicación pasa a segundo plano.
  • OnResume: se llama cuando se reanuda la aplicación, después de haberla enviado a segundo plano.

Nota:

No hay ningún método para la finalización de aplicaciones. En circunstancias normales (es decir, si no se produce un bloqueo), la finalización de la aplicación se producirá desde el estado OnSleep, sin que se muestren notificaciones en el código.

Para observar cuándo se llama a estos métodos, implemente una llamada WriteLine en cada uno (como se muestra a continuación) y pruébelos en cada plataforma.

protected override void OnStart()
{
    Debug.WriteLine ("OnStart");
}
protected override void OnSleep()
{
    Debug.WriteLine ("OnSleep");
}
protected override void OnResume()
{
    Debug.WriteLine ("OnResume");
}

Importante

En Android, se llama al método OnStart por rotación y también cuando la aplicación se inicia por primera vez si la actividad principal carece de ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation en el atributo [Activity()].

Hay dos eventos en la clase Application que proporcionan notificaciones de páginas que aparecen y desaparecen:

  • PageAppearing: se genera cuando una página va a aparecer en la pantalla.
  • PageDisappearing: se genera cuando una página va a desaparecer de la pantalla.

Estos eventos pueden usarse en escenarios en los que quiera realizar un seguimiento de las páginas a medida que aparezcan en la pantalla.

Nota:

Los eventos PageAppearing y PageDisappearing se generan a partir de la clase base Page inmediatamente después de los eventos Page.Appearing y Page.Disappearing, respectivamente.

Hay cuatro eventos en la clase Application, cada uno con sus propios argumentos de evento, que le permiten responder a páginas modales que empiezan a mostrarse y se descartan:

  • ModalPushing: se genera cuando se inserta una página de forma modal.
  • ModalPushed: se genera después de que se ha insertado una página de forma modal.
  • ModalPopping: se genera cuando se extrae una página de forma modal.
  • ModalPopped: se genera después de que se ha extraído una página de forma modal.

Nota:

Los argumentos de evento ModalPopping de tipo ModalPoppingEventArgs contienen una propiedad Cancel. Cuando Cancel se establece en true, se cancela la ventana emergente modal.