我多次使用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
Run Code Online (Sandbox Code Playgroud)
这段代码循环显示PDF文件页面上的图像.该文件最多可包含500页,每页可提供5张图像.它导致数千次迭代.问题是MemoryStream没有被释放,导致Out of Memory异常.XImage通常大约为250 kB.
我在这里使用Aspose.PDF库来处理PDF(XImage是这个库中的一个类),但没关系.我试图做一个简单的例子,我只是创建一个新的MemoryStream并将虚拟位图保存到它.它导致了同样的问题.
我也尝试使用FileStream而不是MemoryStream,但它的行为相同.
任何帮助赞赏.
谢谢
吉日