在Windows Phone 7上,我应该什么时候保存设置?

6
我有一个设置保存的方法,但是我尝试卸载并失去焦点,应用程序将在到达这些方法之前关闭并且不会保存。为了避免这种情况发生,我应该什么时候保存应用程序设置?
我应该使用定时器每30秒保存一次吗?

你看/读过墓碑教程吗? - H H
2个回答

10

根据您的应用程序不同,保存数据的频率也会不同。然而,主要的时机包括:

  • 启动
  • 激活
  • 取消激活
  • 关闭

当从主屏幕首次启动应用程序时,将调用启动事件(Launching);当用户按下返回键退出应用程序时,将调用关闭事件(Closing)。因此,您很可能会想在关闭事件(Closing)中保存永久数据。

当用户通过Windows按钮关闭应用程序,并通过按下返回按钮重新打开它时,将调用激活事件(Activated)。如果用户第一次启动应用程序,则不会调用此事件。

同样地,当用户按下Windows按钮时,将调用取消激活事件(Deactivated)。根据您的应用程序,您将需要在此时保存短暂数据,以便在恢复时可以让您的应用程序看起来好像没有被关闭过一样。(否则,例如,即使用户在按下Windows按钮之前输入了数据,所有文本框都将变为空白)。

这些是主要的事件,所以您可以围绕它们设计您的应用程序。需要记住的一件事是,如果您的保存文件很大,并且在调用关闭事件(Closing)后保存时间超过了10秒,您的应用程序将立即终止,可能会破坏保存文件。因此,对于大型保存文件,您应该提前计划逐步保存(例如,在用户进行不可逆操作之后)。

由于保存时机高度依赖于正在开发的应用程序类型,因此没有一个适用于所有情况的解决方案。请阅读Execution Model MSDN页面,其中提供了更多详细信息和代码示例。


1
@Eric - 不用谢。关于Tombstoning,你可以在CodePlex上查看Tombstone Helper:http://tombstonehelper.codeplex.com/ - keyboardP

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接