C# 图片框内存不足

C# 图片框内存不足,c#,winforms,C#,Winforms,我正在开发一个windows窗体应用程序。在我的一个窗体上,我放置了一个图片框控件。 它在大多数情况下工作正常。但有时它会显示红十字,而不是显示实际的图片 我进一步探讨了这一点,并了解到该控件在内部处理异常。因此,我转到Debug->Exceptions并检查相关的抛出的框。然后我发现显示红色框是由于以下错误: A first chance exception of type 'System.OutOfMemoryException' occurred in System.Drawing.dll

我正在开发一个windows窗体应用程序。在我的一个窗体上,我放置了一个图片框控件。 它在大多数情况下工作正常。但有时它会显示红十字,而不是显示实际的图片

我进一步探讨了这一点,并了解到该控件在内部处理异常。因此,我转到
Debug->Exceptions
并检查相关的
抛出的
框。然后我发现显示红色框是由于以下错误:

A first chance exception of type 'System.OutOfMemoryException' occurred in System.Drawing.dll

Additional information: Out of memory.

有人能建议我如何处理这个异常吗?

您的目标机器有多少RAM


出现此异常是因为为映像分配更多内存的调用失败。如果您无法增加计算机上的内存量,请尝试减小图像的大小或关闭正在运行的任何其他程序。

对于您在
PictureBox
中使用多个图像的评论,您应该在应用新图像之前“像@Jason建议的那样”处理旧图像,如:

private void ChangePictureBoxImage(Image image)
{
    pictureBox.Image.Dispose();//dispose the old image.

    pictureBox.Image = image;
}

请参见:您是否正在为多个图像恢复picturebox?如果是这样的话,在加载下一个图像之前是否处理上一个图像?请检查您的图像是否在某个地方陷入无休止的循环中。检查图片的大小是否不是1gb或其他大小。检查您的计算机是否真的很旧,内存不足。您可能需要为某人添加一些代码,以便给您一个可靠的答案。@Jason Down:我正将此用于多个图像。请告诉我如何处理之前的图像?是否有人真的认为他内存/虚拟内存不足的可能性微乎其微?这就是异常的意思…正如您在上面的公认答案中所看到的,他确实内存不足。这与RAM无关。当前地址总线内存不足时会引发此错误-这是一个完全不同的概念。Saved my day:)谢谢。