日期:2014-05-17  浏览次数:21154 次

请教关于C# 的内存释放
在一个程序中打开很多Form,程序的内存持续增加
但是我在关闭这些Form后内存并没有减少。
1. 应该Form中的一些控件占用的内存, 请问如何在关闭Form后释放掉这些内存
2. 是否需要手动给Form中的每个控件在窗体关闭事件中添加Control.Dispose()?
3. GC会不会自动回收这些内存?
NET 内存

------解决方案--------------------
不是立即就会交给系统,gc会在适时的清理垃圾,一些new的对象,销毁时,最好置为 null
------解决方案--------------------
引用清除, = null 
------解决方案--------------------
不需要,也控制不了。

如果你的窗体关闭了,你程序也没有跨窗体直接使用对方的变量,一般没有问题。
------解决方案--------------------
一般集合 或者Table之类的东西用完就Clear(); 不要滥用静态资源,Session,Application,尽可能做到用完就释放资源。。。。