2012-07-24 27 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

相關問題