0

我将使用方便的 IsolatedStorageSettings 字典在我的 WP8 应用程序中保存足够多的数据。但是,出现的第一个问题是它有多大?

其次,在IsolatedStorageSettings.Save 方法的文档中,我们可以找到:

如果需要更多空间,请使用 IsolatedStorageFile.IncreaseQuotaTo 方法向主机请求更多存储空间。

我们可以估计所需的内存量并相应地增加隔离存储设置的空间吗?如果我们需要动态地执行此操作,因为用户正在输入新的数据部分以持久存储?或者,也许,我们需要为此使用另一种技术(尽管我想继续使用方便的 IsolatedStorageSettings 类)?

4

1 回答 1

0

我在这篇文章中找到了我问题第一部分的答案:如何在 Windows Phone 中找出独立存储中的空间?. 以下是在特定设备上获得所需值的代码,并进行了一些增强:

long availablespace, Quota;
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
   availablespace = store.AvailableFreeSpace ;
   Quota = store.Quota ;
}

MessageBox.Show("Available : " + availablespace.ToString("##,#") + "\nQuota : " + Quota.ToString("##,#));

512Mb WP8 仿真器为我提供了以下值,用于一个最小的应用程序,其中保存在 IsolatedStorageSettings 中的字符串很少:

WP8 模拟器中的可用空间

Lumia 920 报告了更大的价值——大约 20Gb,这让我很高兴。如此大的值(我认为,这取决于设备中的全部可用内存)将允许我将 IsolatedStorageSettings 对象用于大量数据。

至于一种可以用来估计数据量的方法,我想,这只能通过实验来完成。例如,当我向我的 IsolatedStorageSettings 添加一些字符串时,可用空间减少了 4Kb。但是,再次添加相同部分的数据并没有显示任何新的内存分配。正如我所看到的,它是由 4Kb 的块分配的。

于 2014-03-14T08:39:08.887 回答