我在这篇文章中找到了我问题第一部分的答案:如何在 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 中的字符串很少:
Lumia 920 报告了更大的价值——大约 20Gb,这让我很高兴。如此大的值(我认为,这取决于设备中的全部可用内存)将允许我将 IsolatedStorageSettings 对象用于大量数据。
至于一种可以用来估计数据量的方法,我想,这只能通过实验来完成。例如,当我向我的 IsolatedStorageSettings 添加一些字符串时,可用空间减少了 4Kb。但是,再次添加相同部分的数据并没有显示任何新的内存分配。正如我所看到的,它是由 4Kb 的块分配的。