Suspending-Ereignis nicht Erhöhung mit WinRT
Ich habe ein problem mit suspending-Ereignis auf Windows Phone 8.1 mit WinRT, es wird nicht ausgelöst. Ich weiß nicht, warum. Das ist mein code:
///<summary>
///Initializes the singleton application object. This is the first line of authored code
///executed, and as such is the logical equivalent of main() or WinMain().
///</summary>
public App()
{
InitializeComponent();
Suspending += OnSuspending;
#if DEBUG
this.displayRequest = new DisplayRequest();
#endif
}
///<summary>
///Invoked when application execution is being suspended. Application state is saved
///without knowing whether the application will be terminated or resumed with the contents
///of memory still intact.
///</summary>
///<param name="sender">
///The source of the suspend request.
///</param>
///<param name="e">
///Details about the suspend request.
///</param>
private void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
deferral.Complete();
}
Ich einen Haltepunkt auf die Zeile var deferral = e.SuspendingOperation.GetDeferral();
und Debuggen mit Visual Studio. Dann drückte ich die start-Taste auf meinem Handy und lief in eine andere app und wartete etwa 10 Sekunden. OnSuspending
wird nicht ausgeführt.
Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Suspending-Ereignis wird nicht ausgelöst, beim Debuggen (aber beim ausführen der App normal, es wird Feuer nur nach dem navigieren Weg von der App), wie es ist, sagte auch auf dieser blog:
Beachten Sie, dass dieser Mai führen zu einige seltsame app Verhalten, wenn es etwas falsch in Aussetzung Ereignis - zum Beispiel, wenn Sie passieren einige komplexe Klasse in Rahmen.Navigieren Sie Methode und verwenden Sie SuspensionManager. Beim Debuggen Sie Ihre app funktioniert einwandfrei (keine Federung), aber stürzt ohne debug-Modus.
Testen, wie Ihre App verhält, müssen Sie aufrufen die Aussetzung manuallt öffnen (oder sichtbar) Debug-Lage Symbolleiste in Visual Studio, dort finden Sie ein dropdown-Lifecyce Ereignisse, wählen Sie dort Aussetzen, und dann die Rückkehr der App - Resume.