表单关闭后未处置

时间:2018-10-31 06:00:26

标签: c# .net garbage-collection

在此我使用了Infragistics控件,因此具有Windows窗体应用程序。在打开表单内存使用量达到27 MB之后,我分析了内存处理过程,但是关闭后,内存应该释放了,但无法正常工作。关闭时,我也调用了Dispose方法。

Close button click.

After opening the form memory usage

After closing the form memory usage

1 个答案:

答案 0 :(得分:2)

一些想法。

  • 请勿使用任务管理器诊断内存问题。使用内存分析器。 .Net以一种不完全明显的方式来管理内存,而任务管理器对这种性质给出了错误的假设。
  • 仅因为您要处置某些东西,并不意味着垃圾收集器将争分夺秒地清理并积极地将内存返还给操作系统,它会在基于内存压力和启发式的感觉而来时做到这一点。
  • 如果您创建表单(及其模态),不妨将其放在using语句中,那么您就可以放心地正确执行所有操作

其他资源

Fundamentals of Garbage Collection