Windows phone 7 隔离存储在WP7上的持久性如何?

Windows phone 7 隔离存储在WP7上的持久性如何?,windows-phone-7,isolatedstorage,Windows Phone 7,Isolatedstorage,我使用以下代码将大约100个对象的列表保存到IsolatedStorage: IsolatedStorageSettings.ApplicationSettings.Add("MyApp", theList); IsolatedStorageSettings.ApplicationSettings.Save(); 加载方式如下: theList = (List<Object>)IsolatedStorageSettings.ApplicationSettings["MyApp"];

我使用以下代码将大约100个对象的列表保存到IsolatedStorage:

IsolatedStorageSettings.ApplicationSettings.Add("MyApp", theList);
IsolatedStorageSettings.ApplicationSettings.Save();
加载方式如下:

theList = (List<Object>)IsolatedStorageSettings.ApplicationSettings["MyApp"];
theList=(List)隔离存储设置。应用程序设置[“MyApp”];

在WP7仿真器中,此代码起作用:重新启动应用程序时正确保存和加载数据列表。但是,当我重新启动模拟器时,数据就消失了。很遗憾,我没有WindowsPhone7,我的问题是:这些数据会“永远”保存在真实的手机上吗?或者当手机关机时,数据会消失吗?我需要确保重新启动手机后列表不会被删除。

是的,它将在重新启动手机后持续存在。

谢谢您的回复。这也是解决我问题的最好办法吗?或者,例如,将列表序列化为XML文件更好吗?我实际上将XML文件存储在独立的存储中,用于持久化数据。我解释了为什么将XML保存到文件比使用
IsolatedStorageSettings
:当您第一次检索
IsolatedStorageSettings
时,OS执行此处存储的所有数据的加载。如果你的列表中有很多数据,那么启动你的应用程序需要几秒钟的时间(启动后你需要设置中的一些数据,对吗?)。因此,使用
IsolatedStorageSettings
进行设置,而不是动态数据列表等。您仍然可以将xml存储在独立存储中,并异步检索它,而不会在启动时产生不必要的延迟。我在我的应用程序中这样做,虽然我不使用IsolatedStorage设置,但我管理自己的文件。