2012-07-24 29 views
1

我正在VB.Net中开发Windows应用程序。我的问题是运行一段时间后,应用程序提交内存的大小增加了。我使用了Memory Profiler(Ant Profiler,CL R Profiler)来识别应用程序中的问题。它建议我在关闭表单后处理活着或未注册的对象。因此,我处理所有可能影响内存泄漏的对象。如何减少vb.net应用程序中的内存提交大小?

但是一旦它变高,仍然无法获得降低提交大小。

任何人都可以给我建议该怎么办?

回答

0

.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/

+0

我没有GC使用GC.Collect的和GC.SuppressFinalize(ME)。但仍不能减少它。它说未使用的数据不能被处置。在这种情况下该怎么办? – 2012-07-24 10:11:58

+0

此线程可能会有帮助:http://stackoverflow.com/questions/1343374/reducing-memory-usage-of-net-applications – SSS 2012-07-25 00:43:01

相关问题