解决方法
您保存的频率取决于您的应用.但是,关键时间是:
>启动
>已激活
>停用
>结束
首次从主屏幕启动应用程序时调用启动,当用户按下后退键退出应用程序时调用Closing.当然,您很可能希望在Closing事件中保存永久数据.
当用户通过Windows按钮关闭您的应用程序并通过按后退按钮返回时,将调用已激活.如果用户第一次启动应用程序,则不会调用此方法.
同样,当用户按下Windows按钮时,将调用Deactivated事件.根据您的应用程序,您需要在此时保存瞬态数据,以便在恢复时,您可以假设您的应用程序根本没有关闭. (否则,例如,即使用户在按下Windows按钮之前输入数据,所有文本框也将变为空).
这些是主要事件,因此您可以围绕它设计您的应用程序.需要记住的一件事是,如果您的保存文件很大,并且在调用结束事件后保存时间超过10秒,您的应用程序将立即终止,可能会破坏保存文件.因此,对于大型保存文件,您应该通过逐步保存来提前计划(例如,在用户进行了应保持永久性的更改之后).
由于保存时间在很大程度上取决于正在开发的应用程序类型,因此没有一种尺寸适合所有解决方案.阅读Execution Model MSDN Page,了解更多细节并提供代码示例.