我正在 VB.Net 中开发 Windows 应用程序。我的问题是在运行应用程序提交一段时间后内存的大小增加了。我已经使用内存分析器(Ant Profiler,CL R Profiler)来识别应用程序中的问题。它建议我在关闭表单后处理活着或未注册的对象。因此,我处理了所有可能影响内存泄漏的对象。
但是一旦它变高,仍然无法减少提交大小。
谁能给我建议该怎么做?
我正在 VB.Net 中开发 Windows 应用程序。我的问题是在运行应用程序提交一段时间后内存的大小增加了。我已经使用内存分析器(Ant Profiler,CL R Profiler)来识别应用程序中的问题。它建议我在关闭表单后处理活着或未注册的对象。因此,我处理了所有可能影响内存泄漏的对象。
但是一旦它变高,仍然无法减少提交大小。
谁能给我建议该怎么做?
.NET 垃圾收集器不保证在任何特定时间范围内释放内存。例如,它可能会等到需要内存后再释放已使用的内存。
您可以通过调用强制垃圾收集
GC.Collect
这些文章更深入地解释了一些事情:
http://msdn.microsoft.com/en-us/library/ms973837.aspx
http://www.simple-talk.com/dotnet/.net-framework/understanding-garbage-collection-in-.net/