Ciclo de vida de la aplicación Xamarin.Forms
La clase base Application
proporciona las características siguientes:
- Métodos de ciclo de vida
OnStart
,OnSleep
yOnResume
. - Eventos de navegación de página
PageAppearing
yPageDisappearing
. - Eventos de navegación modal
ModalPushing
,ModalPushed
,ModalPopping
yModalPopped
.
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()]
.
Eventos de navegación de página
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.
Eventos de navegación modal
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.