当尝试使用SelectActiveFrame将图像帧添加到图像列表时,会出现Out of Memory异常。如果我处理的页数少于174页,则所有的作品都是100%,但任何超过此数量的页面都会产生此错这是我的代码最简单的形式;OutOfMemoryException将许多图像帧添加到图像列表
var scannedImage = (Bitmap)Image.FromFile(@"C:\Users\rbl\Documents\Modelware\City Prop\TIFF Files\barcodememory.tiff");
var dim = new FrameDimension(scannedImage.FrameDimensionsList[0]);
var imageCount = scannedImage.GetFrameCount(dim);
var currentBatch = new List<Image>();
for (var i = 0; i < imageCount; i++)
{
scannedImage.SelectActiveFrame(dim, i);
currentBatch.Add(new Bitmap(scannedImage));
// Above experiences following error after +/- 174 pages
//System.OutOfMemoryException was unhandled
//Message=Out of memory.
//Source=System.Drawing
}
要验证它是否是内存问题,只需调暗并创建200个空的位图。为了清楚起见,使用少一点'var'。 – 2012-03-25 18:42:23
不要相信这是以65%的速度运行的物理内存。重新使用增值税,他们被ReSharper推荐如此有趣地听说这不是好的做法。谢谢。我其实怀疑这个不好 – 2012-03-26 12:15:53
别看TaskMan,运行一些代码。 OOM可能由LOH的碎片引起。 – 2012-03-26 12:19:20