SuspendingEventHandler Delegar

Definição

Representa o método que manipulará o evento Suspending .

public delegate void SuspendingEventHandler(Platform::Object ^ sender, SuspendingEventArgs ^ e);
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(591565925, 58218, 16610, 177, 57, 164, 112, 70, 2, 166, 225)]
class SuspendingEventHandler : MulticastDelegate
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(591565925, 58218, 16610, 177, 57, 164, 112, 70, 2, 166, 225)]
public delegate void SuspendingEventHandler(object sender, SuspendingEventArgs e);
Public Delegate Sub SuspendingEventHandler(sender As Object, e As SuspendingEventArgs)

Parâmetros

sender
Object

Platform::Object

IInspectable

O objeto em que o manipulador está anexado.

e
SuspendingEventArgs

Dados do evento.

Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

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, por exemplo, o exemplo de Entrada, 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.

Aplica-se a