Compartilhar via


Application.Suspending Evento

Definição

Ocorre quando o aplicativo faz a transição para o estado Suspenso de algum outro estado.

public:
 virtual event SuspendingEventHandler ^ Suspending;
// Register
event_token Suspending(SuspendingEventHandler const& handler) const;

// Revoke with event_token
void Suspending(event_token const* cookie) const;

// Revoke with event_revoker
Application::Suspending_revoker Suspending(auto_revoke_t, SuspendingEventHandler const& handler) const;
public event SuspendingEventHandler Suspending;
function onSuspending(eventArgs) { /* Your code */ }
application.addEventListener("suspending", onSuspending);
application.removeEventListener("suspending", onSuspending);
- or -
application.onsuspending = onSuspending;
Public Custom Event Suspending As SuspendingEventHandler 

Tipo de evento

Exemplos

Este exemplo de código demonstra um padrão de uso típico para esse evento. Esse código é usado por muitos dos exemplos XAML como parte do code-behind para o arquivo app.xaml. Se você procurar os exemplos XAML, poderá encontrar o código-fonte da API de SuspensionManager classe, conforme referenciado neste código.

async protected void OnSuspending(object sender, SuspendingEventArgs args)
{
    SuspendingDeferral deferral = args.SuspendingOperation.GetDeferral();
    await SuspensionManager.SaveAsync();
    deferral.Complete();
}
Private Async Sub OnSuspending(sender As Object, args As SuspendingEventArgs) 
    Dim deferral As SuspendingDeferral = args.SuspendingOperation.GetDeferral 
    Await SuspensionManager.SaveAsync 
    deferral.Complete() 
End Sub 

Comentários

O sistema suspende seu aplicativo sempre que o usuário alterna para outro aplicativo ou para a área de trabalho e retoma seu aplicativo sempre que o usuário alterna de volta para ele. No entanto, o sistema também pode encerrar seu aplicativo enquanto ele está suspenso para liberar recursos. Portanto, você deve manipular o evento Suspending para executar as seguintes operações:

  • Preservar o estado da sessão do usuário.
  • Libere todos os bloqueios exclusivos nos recursos.
  • Reduza o uso de memória, se possível. Por exemplo, serialize todos os dados fáceis de reconstruir na forma de objeto após a reativação.
  • Salve o estado do aplicativo. O evento Suspending é a única indicação de que seu aplicativo receberá antes da rescisão (se isso acontecer). Por isso, você deve armazenar estado de sessão suficiente (como o artigo atual que está sendo lido ou a posição de reprodução de filme atual) para recriar exatamente a mesma experiência durante a ativação. A orientação para aplicativos de criação de conteúdo é salvar o trabalho de um usuário antecipadamente e com frequência, mas também confirmar uma última salvação durante a suspensão. Salvar dados antes da suspensão é útil porque o manipulador de eventos Suspending tem apenas 5 segundos para concluir sua operação.

Se o aplicativo for encerrado, você poderá restaurar o estado do aplicativo em uma substituição de método OnLaunched . Se o aplicativo for retomado antes de ser encerrado, o sistema restaurará o estado do aplicativo automaticamente. Você deverá lidar com o evento Resumindo somente se precisar atualizar qualquer conteúdo exibido que possa ter sido alterado enquanto o aplicativo estiver suspenso, como feeds de notícias ou a localização do usuário.

O evento Suspending é executado no mesmo apartamento em que foi registrado.

Aplica-se a

Confira também