Compartir a través de


Application.Suspending Evento

Definición

Se produce cuando la aplicación realiza la transición al estado Suspendido de algún otro 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

Ejemplos

En este ejemplo de código se muestra un patrón de uso típico para este evento. Muchos de los ejemplos XAML usan este código como parte del código subyacente para el archivo app.xaml. Si examinas los ejemplos xaml, puedes encontrar el código fuente de la SuspensionManager API de clase como 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();
}
Private Async Sub OnSuspending(sender As Object, args As SuspendingEventArgs) 
    Dim deferral As SuspendingDeferral = args.SuspendingOperation.GetDeferral 
    Await SuspensionManager.SaveAsync 
    deferral.Complete() 
End Sub 

Comentarios

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

  • Conservar el estado de sesión del usuario.
  • Libere los bloqueos exclusivos 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 tras 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 se produce). Por este motivo, debe almacenar suficiente estado de sesión (como el artículo actual que se está leyendo o la posición de reproducción de películas actual) para volver a crear la misma experiencia exacta durante la activación. Las instrucciones para las aplicaciones de creación de contenido son guardar el trabajo de un usuario antes y, a menudo, pero también confirmar un guardado final durante la suspensión. Guardar datos antes de la suspensión es útil porque el controlador de eventos Suspending tiene solo 5 segundos para completar su operación.

Si la aplicación finaliza, puede restaurar el estado de la aplicación en una invalidación del método OnLaunched . Si la aplicación se reanuda antes de que finalice, el sistema restaura automáticamente el estado de la aplicación. Debe controlar el evento Resuming solo si necesita actualizar cualquier contenido mostrado que pueda haber cambiado mientras la aplicación está suspendida, como fuentes de noticias o la ubicación del usuario.

El evento Suspending se ejecuta en el mismo apartamento en el que se registró.

Se aplica a

Consulte también