我尝试对显示带有图片框的幻灯片的应用程序进行编码。 加载新映像会导致应用程序在某些时候耗尽内存。即使我处理旧图像并手动运行GC。任务浏览器显示10mB的使用量。
起初,我看到内存增加了而没有处理功能。包括dispose可使ram保持不变,但在某些时候仍会抛出内存不足异常。
我的代码,用于加载下一张图像并处理旧的图像。 我需要包含Application.DoEvents(),因为UI线程未更新
PictureBox.Image.Dispose();
PictureBox.Image = Image.FromFile(currentfolder.ImageList[currentindex]);
Application.DoEvents();
currentindex++;
GC.Collect();
我看不到内存不足的任何原因。我的系统有8GB,空闲时的使用率是57%。
答案 0 :(得分:1)
非常感谢。问题实际上是我列表中有没有图像的元素。内存不足异常确实使我感到困惑。 谢谢steve16351和其他人