在Windows Phone 7中 - > IsolatedStorageSettings类我们有两个函数Add()和Save()。根据我的说法,两者在隔离存储中保存键值对的意义相同。我的问题是这两个函数之间有什么区别。
为了测试这是在Application_Deactivated事件和Application_Closing事件中的App.xaml.cs中做了什么,我在IsolatedStorageSettings中添加了一个键值对而没有调用save函数。
在Application_Launched和Application_Activated事件上,我正在检索相同的键值对,并且我获得了上面添加的键的相同值。
因此,在没有实际调用IsolatedStorageSettings的Save函数的情况下,我能够检索值。
答案 0 :(得分:8)
.Save()实际上将隔离的存储设置实例(例如ApplicationSettings)保存到媒体(例如手机存储)。
当您的应用程序受到启发(_Deactivated)或关闭(_Closed)时,会自动执行此操作。这就是为什么你甚至没有调用save就得到相同的值。
.Add()方法只会在您的设置字典中添加一个新条目。如果未保存您的设置,则可能会错过此更改(通常在应用程序意外退出时)。
来自MSDN:
“写入IsolatedStorageSettings对象的数据在保存时保存 使用该类的应用程序已关闭。这可能发生在 用户关闭Web浏览器,刷新页面或浏览 这页纸。如果您希望应用程序写入隔离存储 您可以立即在应用程序代码中调用Save方法。“
希望这能回答你的问题