Richtlinien für das Anhalten und Fortsetzen von Apps

Applies to Windows and Windows Phone

Gestalten Sie Ihre App so, dass sie angehalten wird, wenn der Benutzer zu einer anderen App wechselt, und fortgesetzt wird, wenn der Benutzer wieder zu Ihrer App wechselt. Berücksichtigen Sie den Zweck und die Verwendungsmuster Ihrer App, um die größtmögliche Benutzerfreundlichkeit beim Anhalten und Fortsetzen der App zu gewährleisten. Beachten Sie die folgenden Richtlinien, wenn Sie das Verhalten Ihrer Windows Runtime-App beim Anhalten und Fortsetzen entwerfen.

Eine Zusammenfassung des Lebenszyklus einer Windows Runtime-App finden Sie unter App-Lebenszyklus.

Hinweis  Um die Reaktionsfähigkeit des Systems zu verbessern, erhalten Apps unter Windows 8.1 und Windows Phone 8.1 nach dem Anhalten einen Zugriff mit geringer Priorität auf Ressourcen. Zur Unterstützung dieser neuen Priorität wird das Timeout für den Anhaltevorgang verlängert, sodass die App für normale Priorität unter Windows ein Timeout von 5 Sekunden und unter Windows Phone ein Timeout von 1 bis 10 Sekunden hat. Dieses Timeout-Fenster kann weder verlängert noch geändert werden.

Empfohlene und nicht empfohlene Vorgehensweisen

  • Wenn die App nach einer kurzen Pause fortgesetzt wird, lassen Sie Benutzer zu dem Zustand der App zurückkehren, in dem sie die App verlassen haben. Beispiel: Wenn ein Benutzer beim Schreiben einer E-Mail zu einer anderen App wechselt, sollte der Benutzer zur Seite mit der angefangenen E-Mail zurückkehren, anstatt zur Hauptstartseite der E-Mail-App.
  • Wenn die App erst nach einer längeren Pause wieder fortgesetzt wird, leiten Sie Benutzer zur Standardstartseite der App zurück. Beispiel: Leiten Sie Benutzer zur Hauptstartseite einer News- oder Wetter-App zurück, anstatt zu einem veralteten Artikel oder nicht mehr aktuellen Wetterdaten.
  • Bieten Sie Benutzern ggf. die Möglichkeit, selbst festzulegen, ob die App wiederhergestellt oder neu gestartet werden soll. Wenn der Benutzer beispielsweise zu einer Spiele-App zurückkehrt, könnte eine Aufforderung angezeigt werden, damit der Benutzer entscheiden kann, ob er das Spiel fortsetzen oder ein neues Spiel starten möchte.
  • Speichern Sie Anwendungsdaten, wenn die App angehalten wird. Angehaltene Apps empfangen keine Benachrichtigungen, wen Sie vom System beendet werden. Deshalb ist es wichtig, dass Anwendungsdaten explizit gespeichert werden, damit der App-Zustand wiederhergestellt werden kann.

    Falls Ihre App mehrere Startpunkte wie sekundäre Kacheln und Popupbenachrichtigungen sowie Datei- und URI-Zuordnungen unterstützt, sollten Sie ggf. für jeden Startpunkt einen separaten Navigationsverlauf erstellen. Speichern Sie beim Anhalten den Zustand, der dem primären Startpunkt zugeordnet ist, und speichern Sie den Zustand für sekundäre Startpunkte nur in Szenarien, in denen es für den Benutzer frustrierend wäre, wenn der Zustand verloren geht. Werden zu viele Zustände gespeichert, kann dies das Fortsetzen der App verlangsamen.

  • Verwenden Sie gespeicherten Anwendungsdaten zum Wiederherstellen der App.
  • Geben Sie, wenn die App angehalten wird, außerdem exklusive Ressourcen und Dateihandles frei. Da angehaltene Apps keine Benachrichtigungen erhalten, nachdem sie beendet wurde, müssen beim Anhalten der App Ressourcen und Handles (z. B. Webcams, E/A-Geräte, externe Geräte und Netzwerkressourcen) freigegeben werden, damit andere Apps darauf zugreifen können.
  • Aktualisieren Sie die Benutzeroberfläche, wenn sich der Inhalt seit dem letzten Aufruf durch den Benutzer geändert hat. Eine fortgesetzte App sollte den Eindruck vermitteln, als ob sie während der Abwesenheit des Benutzers weiter ausgeführt wurde.
  • Beenden Sie die App nicht, wenn sie vom Bildschirm entfernt wurde. Das Betriebssystem stellt sicher, dass der Benutzer auf einheitliche Weise auf Apps zugreifen und diese verwalten kann. Die App wird angehalten, wenn sie vom Bildschirm entfernt wird. Indem Sie dem System den App-Lebenszyklus überlassen, stellen Sie sicher, dass der Benutzer mit möglichst geringem Aufwand zu Ihrer App zurückkehren kann. Außerdem wird so die beste Systemleistung und eine möglichst lange Akkulaufzeit für das Gerät erreicht.
  • Stellen Sie den Zustand einer App nicht wieder her, die vom Benutzer explizit beendet wurde. Vielleicht hat der Benutzer die App geschlossen, weil sich die App in einem nicht behebbaren Zustand befand. Wenn die App explizit vom Benutzer geschlossen wurde, starten Sie die App neu, anstatt sie wiederherzustellen. Eine vom Benutzer geschlossene App weist für die Eigenschaft PreviousExecutionState den Wert ClosedByUser auf.
  • Stellen Sie den Zustand einer App nicht wieder her, die aufgrund eines Absturzes beendet wurde. Wenn die App unerwartet beendet wurde, sollten Sie davon ausgehen, dass gespeicherte App-Daten u. U. beschädigt sind. Die App sollte sollte den vorherigen Zustand nicht mithilfe dieser gespeicherten Daten wiederherstellen.
  • Verwenden Sie in der App-UI keine Schaltflächen oder anderen Möglichkeiten zum Beenden der App. Die Benutzer sollen sich darauf verlassen, dass das System die Apps für sie verwaltet. Das System kann Apps automatisch beenden, um optimale Systemleistung und Zuverlässigkeit zu gewährleisten. Benutzer können Apps unter Windows mit Gesten und unter Windows Phone mithilfe der Aufgabenumschaltfunktion schließen.
  • Bieten Sie Benutzern auf untergeordnete Seiten Navigationsmöglichkeiten. Wenn der Benutzer die App nicht über die primäre Kachel, sondern über einen anderen Startpunkt startet, und dadurch auf eine Unterseite gelangt, bieten Sie Benutzern die Möglichkeit, über ein UI-Element zur Hauptseite der App zu gelangen. Oder ermöglichen Sie dem Benutzer, die Hauptseite der App zu öffnen, indem er auf die primäre Kachel klickt.

Verwandte Themen

Für Entwickler (HTML)
ApplicationExecutionState
Windows.ApplicationModel
Windows.ApplicationModel.Activation
Windows.UI.WebUI
WinJS.Application
Übersicht über App-Lebenszyklen
Anhalten einer App (JavaScript)
Fortsetzen einer App (JavaScript)
Für Entwickler (XAML)
ApplicationExecutionState
Windows.ApplicationModel
Windows.ApplicationModel.Activation
Windows.ApplicationModel.Core
Windows.UI.Xaml.Application
Übersicht über App-Lebenszyklen
Anhalten einer App (C#/VB/C++)
Fortsetzen einer App (C#/VB/C++)
Beispiele
Beispiel zum Aktivieren, Unterbrechen und Fortsetzen der App mit WRL
Beispiel zum Aktivieren und Anhalten der App mit WinJS
Erste Schritte mit C# und Visual Basic: Hello World-Beispiele (Teil 2)

 

 

Anzeigen:
© 2015 Microsoft