Application.Suspending Event

Tritt ein, wenn die Anwendung aus einem Zustand in den suspendierten Zustand (Suspended) übergeht.

Syntax


public event SuspendingEventHandler Suspending

Ereignisinformationen

Delegat SuspendingEventHandler

Hinweise

Die App wird angehalten, wenn der Benutzer zu einer anderen App oder zum Desktop wechselt. Die App wird wieder aktiviert, wenn der Benutzer erneut zu ihr wechselt. Allerdings kann die App auch beendet werden, während sie angehalten wird, um Ressourcen freizugeben. Daher sollten Sie das Suspending-Ereignis zur Ausführung der folgenden Vorgänge behandeln:

  • Benutzersitzungsstatus beibehalten
  • Geben Sie jede exklusive Ressourcensperre frei.
  • Reduzieren Sie möglichst die Speichernutzung. Serialisieren Sie z. B. alle Daten, die nach Reaktivierung einfach in Objektform erneut erstellt werden können.
  • App-Zustand speichern.

Das Suspending-Ereignis ist der einzige Hinweis, der an die App vor Beendigung (wenn dies der Fall ist) übermittelt wird. Deswegen sollten Sie ausreichend Sitzungszustand speichern (wie den gerade gelesenen Artikel oder die aktuelle Filmwiedergabeposition), um bei der Aktivierung genau dieselbe Erfahrung wiederherzustellen. Der Leitfaden für Inhaltserstellungs-Apps sieht vor, die Arbeit eines Benutzers frühzeitig und häufig zu speichern und darüber hinaus auch während Suspending eine endgültige Speicherung durchzuführen. Das Speichern von Daten vor der Suspendierung ist sinnvoll, weil der Ereignishandler Suspending seine Operation innerhalb von 5 Sekunden abschließen muss.

Wird Ihre App beendet, können Sie ihren Status in einer überschriebenen OnLaunched-Methode wiederherstellen. Wird Ihre App (aus dem Suspended-Status) fortgesetzt, bevor sie beendet wird, stellt das System den Zustand der App automatisch wieder her. Sie sollten das Resuming-Ereignis nur dann behandeln, wenn Sie angezeigten Inhalt aktualisieren müssen, der sich möglicherweise geändert hat, während die App angehalten wurde, z. B. Newsfeeds oder Aufenthaltsort des Benutzers.

Beispiele

Dieses Codebeispiel zeigt ein typisches Verwendungsmuster für dieses Ereignis. Dieser Code wird von vielen der XAML-Beispiele verwendet, z. B. das Eingabebeispiel als CodeBehind-Teil für die app.xaml-Datei. Wenn Sie die XAML-Beispiele durchsuchen, finden Sie mithilfe der Verweise in diesem Code den Quellcode für die SuspensionManager-Klassen-APIs.


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

Anforderungen

Mindestens unterstützter Client

Windows 8

Mindestens unterstützter Server

Windows Server 2012

Namespace

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

Metadaten

Windows.winmd

Siehe auch

Application
OnActivated
Resuming
Starten und Fortsetzen von Apps

 

 

Anzeigen:
© 2014 Microsoft