Evento Suspending

Application.Suspending Event

Se produce cuando la aplicación pasa al estado suspendida desde cualquier otro estado.

Sintaxis


public event SuspendingEventHandler Suspending

Información de eventos

Delegado SuspendingEventHandler

Comentarios

El sistema suspende la aplicación cada vez que el usuario cambia a otra aplicación o al escritorio, y la reanuda cada vez que el usuario vuelve a ella. Sin embargo, el sistema también puede finalizar la aplicación mientras está suspendida para liberar recursos. Por consiguiente debe controlar el evento Suspending para realizar las operaciones siguientes:

  • Conserve el estado de sesión del usuario.
  • Libere cualquier bloqueo único en los recursos.
  • Reduzca el uso de memoria si es posible. Por ejemplo, serialice los datos que sean fáciles de reconstruir en forma de objeto en el momento de la reactivación.
  • Guarde el estado de la aplicación.

El evento Suspending es la única indicación que la aplicación recibirá antes de la finalización (si ocurre). Debido a esto, debe almacenar suficiente estado de sesión (como el artículo actual que se está leyendo o la posición actual de reproducción de una película) para volver a crear exactamente la misma experiencia durante la activación. La guía para las aplicaciones de creación de contenido recomienda guardar el trabajo del usuario en una fase temprana y con frecuencia, pero también confirmar si se desea guardar durante Suspending. Guardar los datos antes de la suspensión es útil porque el controlador de eventos Suspending solo tiene 5 segundos para completar la operación.

Si finaliza la aplicación, puede restaurar su estado invalidando el método OnLaunched. Si la aplicación se reanuda antes de que finalice, el sistema restablece el estado de esta automáticamente. Administre el evento Resuming solamente si necesita actualizar cualquier contenido mostrado que pueden haber cambiado mientras la aplicación está suspendida como por ejemplo, fuentes de noticias o la ubicación del usuario.

Ejemplos

En este ejemplo de código se muestra un modelo de uso típico para este evento. Este código usa muchos de los ejemplos de XAML, como el ejemplo de entrada, que forma parte del código subyacente del archivo app.xaml. Si examina los ejemplos XAML, puede buscar el código fuente para las API de la clase SuspensionManager a las que se hace referencia en este código.


async protected void OnSuspending(object sender, SuspendingEventArgs args)
{
    SuspendingDeferral deferral = args.SuspendingOperation.GetDeferral();
    await SuspensionManager.SaveAsync();
    deferral.Complete();
}

Requisitos

Cliente mínimo admitido

Windows 8

Servidor mínimo admitido

Windows Server 2012

Espacio de nombres

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadatos

Windows.winmd

Vea también

Application
OnActivated
Resuming
Iniciar y reanudar aplicaciones

 

 

Mostrar:
© 2018 Microsoft