我有一个使用 .NET 3.5 SP1 编写的应用程序,它从外部网站下载图像并向最终用户显示。偶尔会出现 OutOfMemory 错误,因为用户下载了巨大的图像。有时与这些图像相关联的原始数据很大,但更常见的是图像的尺寸巨大。我意识到可能永远无法避免这些特定图像引起的 OOM 错误。然而,如果我能在尝试加载图像之前确定加载特定图像是否会导致 OOM 问题,那将非常有帮助。
图像的数据被加载到 Stream 中,然后通过调用 System.Drawing.Image.FromStream(stream) 将图像本身转换为 System.Drawing.Image。我不能选择先将这些图像存储在磁盘上。它们必须通过内存加载。
如果有人有任何提示或建议,可以让我检测加载图像是否会导致 OOM 异常,我将非常感激。
图像的数据被加载到 Stream 中,然后通过调用 System.Drawing.Image.FromStream(stream) 将图像本身转换为 System.Drawing.Image。我不能选择先将这些图像存储在磁盘上。它们必须通过内存加载。
如果有人有任何提示或建议,可以让我检测加载图像是否会导致 OOM 异常,我将非常感激。