Application.Current.Exit()和OnSuspendingEvent

xco*_*r37 1 win-universal-app uwp

在Universal Windows 10 C#/ Xaml应用程序中,当我通过Alt + F4 OnSuspending事件关闭我的应用程序时被触发.虽然,当我打电话时Application.Current.Exit()并非如此,尽管文档说明只要应用程序即将被终止,就会触发此事件.

为什么会这样?它看起来像不一致的行为导致我的应用程序中的错误.

Her*_*rdo 7

Microsoft的官方图形说明了Windows Universal Platform应用程序的应用程序生命周期:

生命周期

此生命周期文档说明:

后的应用程序已经被用户关闭时,它的第一悬浮然后终止,并进入notrunning状态状态.

此外,Microsoft建议不要以编程方式关闭应用程序!
"应用程序暂停和恢复指南":

不要包含关闭按钮或为用户提供在其UI中终止应用程序的其他方法.用户应该确信系统正在为他们管理应用程序.系统可以自动终止应用程序以确保最佳系统性能和可靠性,用户可以选择在Windows上使用手势或通过Windows Phone上的任务切换器关闭应用程序.

但如果你......

以编程方式关闭应用程序,系统将其视为应用程序崩溃.

因此,您的应用程序将从Running状态直接进入NotRunning状态.

如果处理类的Exiting事件,您可能会观察到此行为CoreApplication.