我需要清除c#中的非托管对象内存,例如,我将是从主窗体中打开子窗体,而在完全关闭子窗体后再执行一些业务逻辑,那时候就需要清除对象内存
答案 0 :(得分:1)
关闭窗体时,应调用Dispose()
方法,该方法将释放已用的内存。
如果您像这样实例化Form
Form1 form1 = new Form()
form1.Show()
只需调用form1.Close()
方法,该方法本身就会调用Dispose()
。
但是当实例化模态形式form1.ShowDialog()
之类的表单时,必须自己调用form1.Dispose()
。
显式调用垃圾收集器非常危险。