Xamarin.Forms Ciclo de vida do aplicativo
A classe base Application
fornece os seguintes recursos:
- Métodos
OnStart
de ciclo de vida ,OnSleep
eOnResume
. - Eventos
PageAppearing
de navegação de página ,PageDisappearing
. - Eventos
ModalPushing
de navegação modal ,ModalPushed
,ModalPopping
eModalPopped
.
Métodos de ciclo de vida
A classe Application
contém três métodos virtuais que podem ser substituídos para responder às alterações de ciclo de vida:
OnStart
– chamado quando o aplicativo é iniciado.OnSleep
– chamado sempre que o aplicativo vai para segundo plano.OnResume
– chamado quando o aplicativo é retomado, após ter sido enviado para o segundo plano.
Observação
Não há nenhum método de encerramento do aplicativo. Em circunstâncias normais (ou seja, não uma falha), o encerramento do aplicativo acontecerá do estado OnSleep, sem notificações adicionais em seu código.
Para observar quando esses métodos são chamados, implemente uma chamada WriteLine
em cada um (conforme mostrado abaixo) e teste em cada plataforma.
protected override void OnStart()
{
Debug.WriteLine ("OnStart");
}
protected override void OnSleep()
{
Debug.WriteLine ("OnSleep");
}
protected override void OnResume()
{
Debug.WriteLine ("OnResume");
}
Importante
No Android, o método OnStart
será chamado em rotação, assim como quando o aplicativo for iniciado pela primeira vez, se a atividade principal não tiver ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
no atributo [Activity()]
.
Eventos de navegação de página
Há dois eventos na classe Application
que fornecem notificação quando páginas aparecem e desaparecem:
PageAppearing
– gerado quando uma página está prestes a aparecer na tela.PageDisappearing
– gerado quando uma página está prestes a desaparecer da tela.
Esses eventos podem ser usados em cenários em que você deseja controlar páginas à medida em que aparecem na tela.
Observação
Os eventos PageAppearing
e PageDisappearing
são gerados da classe base Page
imediatamente após os eventos Page.Appearing
e Page.Disappearing
, respectivamente.
Eventos de navegação modal
Há quatro eventos na classe Application
, cada um com seus próprios argumentos de evento, que permitem que você responda quando páginas modais são mostradas e ignoradas:
ModalPushing
– acionado quando uma página é enviada por push de forma modal.ModalPushed
– acionado após uma página ter sido enviada por push de forma modal.ModalPopping
– acionado quando uma página é removida mais recente da pilha de forma modal.ModalPopped
– acionado após uma página ter sido removida mais recente da pilha de forma modal.
Observação
Os argumentos do evento ModalPopping
, do tipo ModalPoppingEventArgs
, contêm uma propriedade Cancel
. Quando Cancel
é definido como true
, a remoção modal é cancelada.