Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在winform c中清除非托管对象内存_C#_.net_Winforms - Fatal编程技术网

C# 如何在winform c中清除非托管对象内存

C# 如何在winform c中清除非托管对象内存,c#,.net,winforms,C#,.net,Winforms,我需要清除c中的非托管对象内存,例如,我将从主窗体打开子窗体,在关闭子窗体后执行一些业务逻辑,此时需要清除对象内存,当关闭窗体时,应调用Dispose方法,该方法将释放已用内存 如果您像这样实例化表单 Form1 Form1=新表格 表格1.展示 调用form1.Close方法就足够了,该方法将调用Dispose本身 但是,当您实例化像模态表单form1.ShowDialog这样的表单时,您必须自己调用form1.Dispose 显式调用垃圾收集器是非常危险的。请详细说明您的问题,说明您正在尝试

我需要清除c中的非托管对象内存,例如,我将从主窗体打开子窗体,在关闭子窗体后执行一些业务逻辑,此时需要清除对象内存,当关闭窗体时,应调用Dispose方法,该方法将释放已用内存

如果您像这样实例化表单 Form1 Form1=新表格 表格1.展示 调用form1.Close方法就足够了,该方法将调用Dispose本身

但是,当您实例化像模态表单form1.ShowDialog这样的表单时,您必须自己调用form1.Dispose


显式调用垃圾收集器是非常危险的。

请详细说明您的问题,说明您正在尝试做什么,付出了什么努力。还有一些代码。这就是Dispose方法的用途。一定要打电话!在您对这个过程的描述中,没有提到您正在使用的非托管对象。实际上,我使用的是windows应用程序,我的应用程序在运行时会变慢,每次打开新窗口时,应用程序exe的大小都会增加。听起来您可能有内存泄漏。您不能通过清除非托管内存来解决这个问题。您可以通过使用探查器定位泄漏并修复它来修复它。