日期:2014-05-18  浏览次数:21208 次

OpenFileDialog的时候内存怎么释放??
Winform窗体上每次OpenFileDialog 后,不管选择文件后还是直接关闭,内存都会增加一大截,我各种dispose()。OpenFileDialog = null,但是内存不会减掉。。

怎么回事?
怎么解决啊???


------解决方案--------------------
托管的内存不需要你管的过一段时间就会自然降底了。
你把窗口最小化后看看就知道了。
------解决方案--------------------
公告语言运行库会自动释放内存 也可以在OpenFileDialog相应代码前加上using 例如:
C# code

using(Graphics g = Graphics.FromImage(Source))
            {
                g.CopyFromScreen(0, 0, 0, 0, Source.Size);
                g.Dispose();
            }

------解决方案--------------------
增加内存是因为你读取了文件吧,肯定会自动回收的。如果是在设计界面拖出来的 OpenFileDialog 就更不用担心了,因为来来去去就是那一个对象
------解决方案--------------------
这是正常现象,那个对话框的程序在第一次打开对话框时会初始化一堆东西,对话框关闭时不会把这些都释放掉,这样后续再打开对话框时就比较快
------解决方案--------------------
只要第二次,第三次打开不会再这样增加就没问题