我最近遇到了一个问题,将大量数据下载到WP7设备上的独立存储中时,会在下载过程中丢失大量空闲空间。
更具体地说,我在下载之前检查可用空间,假设它是1.8 GB;然后我开始下载,当我达到大约1.1 GB时,我得到一个磁盘空间不足的警告弹出窗口,此后不久,写入磁盘失败并显示IOException。
所以我的设备上有一些东西占用了大约700MB的空间(HTC Mozart7)。这个值似乎在我的所有测试中都是一致的。
此外,在引发IOException之后,IsolatedStorageFile.GetUserStoreForApplication().AvailableFreeSpace返回接近零,因此很明显是存储已满的情况。
如有任何其他信息/提示,我们将不胜感激。
谢谢!
发布于 2011-11-01 01:08:20
您是否正在使用HttpWebRequest下载文件?如果是,请尝试将HttpWebRequest.AllowReadStreamBuffering属性设置为false。默认值为true。
您应该阅读文档中有关该属性的备注部分,以查看将该属性设置为false是否符合应用程序的需要,因为它会影响回调发生的时间。
发布于 2011-11-03 22:09:53
这绝对是缓存抢占磁盘空间。要转移如此大量的数据,你应该考虑HTTP以外的协议,毕竟它最初只打算用于网页下载。我个人会考虑ftp,否则你将不得不考虑将你的数据拆分成更容易管理的块。
发布于 2012-08-14 21:16:59
我感觉它失败了,因为你已经超过了你在zune中为你的设备设置的门槛限制。请参考下面的截图。如果发生了这种情况,请重新检查该值,然后重试。还请注意,即使在设置为0%后,手机仍保留约300-500MB

https://stackoverflow.com/questions/7926861
复制相似问题