2011-06-05 141 views
6

我有一個設置保存方法,我打電話,但我試圖卸載,失去了焦點應用程序將關閉,並沒有保存之前,得到任何一種方法。我應該何時保存應用程序設置以防止這種情況發生?什麼時候應該保存Windows Phone 7上的設置?

我應該使用一個計時器並保存每30秒,或什麼?

+0

您是否看到/閱讀了Thombstoning教程? – 2011-06-05 15:40:27

回答

10

您保存的頻率取決於您的應用程序。但是,關鍵時刻是:

  • 啓動
  • 激活
  • 停用
  • 關閉

Launching當應用程序首先從主屏幕啓動,Closing被調用的時候被調用用戶按下後退鍵退出您的應用程序。當然,你很可能想要在Closing事件中保存永久數據。

Activated當用戶通過Windows按鈕關閉了應用程序並通過按下後退按鈕返回時調用該按鈕。如果用戶第一次啓動應用程序,則不會被調用。

同樣,當用戶按下按鈕Windows時會調用Deactivated事件。根據您的應用程序,您需要在此時保存瞬態數據,以便在恢復時,您可以幻想您的應用程序根本沒有關閉。 (否則,例如,即使用戶在按下Windows按鈕之前輸入數據,所有文本框也將變爲空白)。

這些是主要事件,所以你可以圍繞它設計你的應用程序。有一點要記住的是,如果你的保存文件會很大,並且在closing事件被調用後花費的時間比10 seconds更長,你的應用程序將立即終止,可能會破壞保存文件。因此,對於大量保存文件,您應該提前進行增量保存(例如,在用戶進行了應該保持永久保存的更改後)。

沒有one size fits all解決方案,因爲保存時間高度依賴於正在開發的應用程序的類型。閱讀更詳細的Execution Model MSDN Page,並提供代碼示例。

+0

非常感謝,幫助了很多。 – Eric 2011-06-05 16:08:26

+1

@Eric - 不客氣。關於墓碑,您可以在CodePlex上查看Tombstone Helper:http://tombstonehelper.codeplex.com/ – keyboardP 2011-06-05 16:10:21

相關問題