Использование MemoryStream приводит к исключению нехватки памяти
сталкиваюсь с проблемами при использовании MemoryStream несколько раз.
Пример:
For Each XImage As XImage In pdfDocument.Pages(pageCount).Resources.Images
Dim imageStream As New MemoryStream()
XImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg)
' some further processing
imageStream.Close()
imageStream.Dispose()
Next
Этот фрагмент кода циклически перебирает изображения на странице файла PDF. Файл может содержать до 500 страниц, скажем, 5 изображений на каждой странице. Это приводит к тысячам итераций. Проблема в том, что MemoryStream не освобождается и приводит к исключениям «Недостаточно памяти». XImage обычно имеет около 250 кБ.
Я использую здесь библиотеку Aspose.PDF для работы с PDF (XImage - класс из этой библиотеки), но это не имеет значения. Я попытался создать простой пример, в котором я просто создаю новый MemoryStream и сохраняю в нем фиктивный растровый рисунок. Это приводит к тем же проблемам.
Я также пытался использовать FileStream, а не MemoryStream, но он ведет себя так же.
Любая помощь приветствуется.
Спасибо
Иржи