當嘗試使用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