イメージリストにSelectActiveFrameを使用してイメージフレームを追加しようとすると、メモリ不足例外が発生します。 174ページ未満で処理したが、これ以上のものはこのエラーが発生します。それは私のコードが最も簡単な形式です。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
}
メモリの問題であるかどうかを確認するには、dimを取得して、そのサイズの200個の空のビットマップを作成します。明確にするために、 'var'を少し少なくしてください。 –
これは、65%で動作する物理メモリとしてのメモリとは考えられません。 varsの私の使用をReSharperが推奨していたので、これは良い習慣ではないと聞いて面白かったです。ありがとう。私は実際にこれが良いとは思わない –
TaskManを見ていない、いくつかのコードを実行します。 OOMは、LOHの断片化によって引き起こされる可能性があります。 –