使用Stream打开图像时内存不足

时间:2014-03-07 10:11:11

标签: vb.net image stream out-of-memory

我希望你可以帮助VB.net中对Streams的天真使用。

我有一个程序批量处理图像并且内存不足,重复使用(循环)以下内容:

Using str As Stream = File.OpenRead(file_stem + CStr(file_number) + "." + file_extension)
    temp_img = Image.FromStream(str)
    str.Close()
End Using
PictureBox1.Image = temp_img
bm = PictureBox1.Image.Clone

temp_img是全局声明的Dim temp_img As Image。 bm在与循环Dim bm As Bitmap相同的Sub例程中声明。

随着程序运行,我可以在任务管理器中看到内存使用量上升,然后崩溃并出现内存不足错误。好像每次我使用Stream时都会保留使用的内存。我在这里做错了什么?

修改 这个帖子现在似乎已经冷了,但我想我会为此分享我的“工作”。这似乎是一个VB.net错误,因为我修复它的方法是添加一个只显示一个的MsgBox,紧接在第一次调用处理60个图像集的子程序之前。我运行了一个处理96组60张图像的作业,内存使用量没有超过45MB左右。让我觉得它是一个错误的重要的事情是我只在第一组60之前显示MsgBox并且所有都是串行运行的。无论如何,显示MsgBox本身不应修复任何内容!

0 个答案:

没有答案