如何处理OutOfMemory Windows手机

时间:2012-10-18 06:38:07

标签: image windows-phone-7 memory listbox windows-phone-7.1

我有一个listboxload images dynamically from the web as user scrolls。认为它是无限卷轴。我目前的display size is 72X72。但是,如果我在滚动应用程序几分钟后increase the display size to 288x288 (4 times)退出,则会outofmemory system error。对于大型图像,我的512MB device上经常会出现这种情况。这让我很担心,因为256 MB设备会更快地发生。如何处理try catch这样的情况不处理这些系统错误?处理如此巨大的图像列表的most optimum方法是什么?

2 个答案:

答案 0 :(得分:2)


我也经历过WP7或WP7.5的这个问题。

Windows Phone 7中的图像存在严重问题。
appox大小900kb的图像从隔离存储中读取为流并设置为比你的位图类对象的源将会看到内存使用量的巨大变化/上升(在我的情况下为5-6MB)。

只需浏览本网站即可了解其余内容。
Silverlight-s-big-image-problem-and-what-you-can-do-about-it

对于长图片列表问题 1.缩小从服务器获取的图像 2.使用LongListSelector tool使用数据虚拟化技术列出图像

答案 1 :(得分:0)

您可以使用Jeff Wilcox MemoryDiagnosticHelper来控制内存使用量。如果它大约是90 MB,则可以运行映像清理过程。 只需卸载用户目前无法看到的图像的BitMaps(Image.Source = null)。

压缩图像也是一种很好的做法(例如,使用服务器端压缩)。