【问题标题】:How to Dispose resources when the WPF form closeWPF 窗体关闭时如何释放资源
【发布时间】:2014-01-14 01:28:45
【问题描述】:

当我尝试分析我的 WPF (MVVM) 应用程序时,发现打开页面后内存增加,并且在关闭此页面时,它不会释放该内存。因此性能分析器显示没有表单关闭时资源减少。 再次打开特定页面后,发现内存又增加了一级。内存仍然没有释放。知道原因的请告诉我。

问候 明尼苏达州

【问题讨论】:

  • 如果有足够多的可用内存,垃圾收集器不一定会立即释放内存。尝试一次又一次地打开该页面,如果内存继续上升直到出现 OutOfMemory-Exception,则表示内存泄漏。否则,这种行为很可能没有任何问题。内存泄漏可能导致来自事件处理程序的 WPF。如果您删除的页面元素将事件处理程序保存到未删除的其他部分,这可能会阻止它们的内存被释放。

标签: wpf


【解决方案1】:

sa_ddam 很好地回答了这个问题here。在同一页面的下方,有一个指向 MSDN blog 的链接,其中包含一个很好的可能泄漏场景表。

最后,Redgate 发布了一篇关于他们认为是 Top 5 memory leaks in WPF 的精彩文章。

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2015-06-21
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 2013-01-02
    • 2012-06-03
    • 2017-07-08
    相关资源
    最近更新 更多