Windows 窗口窗体已关闭但未销毁
在我的Windows窗体应用程序中,当我关闭一个窗体(从基窗体派生)时,它的FormClosing和FormClosed事件会触发,但析构函数从不触发。它仍然会占用内存 关于如何在窗体关闭时完全销毁窗体的任何想法?析构函数(或者更准确地说,终结器-在.NET中没有析构函数)不能保证在.NET中执行-对象可能会在运行时突发奇想而被清除,甚至永远不会被清除。您不能依赖于您的终结器方法被调用 如果表单关闭时需要执行某些操作,请处理关闭事件 如果需要释放非托管资源(例如关闭打开的文件),请将此逻辑添加到Dispose()方法 如果您担心内存使用,请不要担心内存使用。运行时根据自己的逻辑自动管理内存Windows 窗口窗体已关闭但未销毁,windows,forms,destructor,Windows,Forms,Destructor,在我的Windows窗体应用程序中,当我关闭一个窗体(从基窗体派生)时,它的FormClosing和FormClosed事件会触发,但析构函数从不触发。它仍然会占用内存 关于如何在窗体关闭时完全销毁窗体的任何想法?析构函数(或者更准确地说,终结器-在.NET中没有析构函数)不能保证在.NET中执行-对象可能会在运行时突发奇想而被清除,甚至永远不会被清除。您不能依赖于您的终结器方法被调用 如果表单关闭时需要执行某些操作,请处理关闭事件 如果需要释放非托管资源(例如关闭打开的文件),请将此逻辑添加到
引用:如果它没有被销毁,这意味着垃圾收集器认为它不应该被销毁 这基本上意味着你要么:
如果您有重要的资源要处理,请将其设置为IDisposable,并使用dispose方法。感谢您的回复Yachai,我正在FormClosed事件中执行清理工作,但即使关闭它,它仍保留相同的内存。此表单是一个内部表单,因此,关闭它不会关闭应用程序。