在Windows Phone 7 -> isolatedstoragessettings类中,我们有两个函数Add()和Save()。据我所知,两者都在做同样的事情,即在隔离存储中保存键值对。我的问题是这两个函数的区别是什么?
为了测试这一点,在App.xaml.cs中的Application_Deactivated event和Application_Closing event中,我在isolatedstoragessettings中添加了一个键值对,而不调用save函数。
在application_launching和Application_Activated事件上,我正在检索相同的键值对,并且我正在为上面添加的键获得相同的值。
因此,无需实际调用isolatedstoragessettings的Save函数,我就可以检索值
. save()实际上将隔离的存储设置实例(例如ApplicationSettings)持久化到媒体(例如电话存储)。
当你的应用程序被搁置(_Deactivated)或关闭(_Closed)时,这是自动完成的。这就是为什么即使不调用save也能得到相同的值。
. add()方法只是向设置字典中添加一个新条目。如果您的设置没有保存(通常是在应用程序意外退出时),则可能会错过此更改。
从MSDN:"写入isolatedstoragessettings对象的数据将在使用该类的应用程序被关闭。这可能发生在用户关闭Web浏览器、刷新页面或从该页面。如果您希望应用程序写入隔离存储您可以立即在应用程序代码中调用Save方法。"
希望这能回答你的问题