尽管进行了垃圾回收并且仅使用了10mB的RAM,但应用程序的内存仍然不足C#Windows窗体

时间:2019-06-09 12:20:33

标签: c# winforms out-of-memory garbage

我尝试对显示带有图片框的幻灯片的应用程序进行编码。 加载新映像会导致应用程序在某些时候耗尽内存。即使我处理旧图像并手动运行GC。任务浏览器显示10mB的使用量。

起初,我看到内存增加了而没有处理功能。包括dispose可使ram保持不变,但在某些时候仍会抛出内存不足异常。

我的代码,用于加载下一张图像并处理旧的图像。 我需要包含Application.DoEvents(),因为UI线程未更新

PictureBox.Image.Dispose();
PictureBox.Image = Image.FromFile(currentfolder.ImageList[currentindex]);
Application.DoEvents();
currentindex++;
GC.Collect();

我看不到内存不足的任何原因。我的系统有8GB,空闲时的使用率是57%。

1 个答案:

答案 0 :(得分:1)

非常感谢。问题实际上是我列表中有没有图像的元素。内存不足异常确实使我感到困惑。 谢谢steve16351和其他人