多次使用 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 没有被释放,它会导致 Out of Memory 异常。XImage 通常有 250 kB 左右。
我在这里使用 Aspose.PDF 库来处理 PDF(XImage 是这个库中的一个类),但这没关系。我试着做一个简单的例子,我只是创建一个新的 MemoryStream 并将一个虚拟位图保存到它。它会导致同样的问题。
我也尝试使用 FileStream 而不是 MemoryStream 但它的行为相同。
任何帮助表示赞赏。
谢谢
吉里