c# - wpf C# 中的内存泄漏

标签 c# .net wpf mvvm memory-leaks

我正在使用 GalaSoft.MvvmLight 套件和适用于 DataGridDatePicker 的 WPF Toolkit 开发 WPF MVVM(v3.5 中)应用程序。然而,每次我在 MainWindow 中加载 UserControl 时,我都会在应用程序中面临大量内存泄漏。我正在尝试通过 Scitech Memory profiler 获取确切的问题,但我有一些严重的问题:

  1. 如何从 VM 中的 Event 中取消/取消绑定(bind) RelayCommand
  2. mscorlib 和PresentationFramework 也消耗大量内存,其中大部分是字符串。我不知道他们从哪里来。

请帮忙。

最佳答案

看看这些文章,了解 WPF 中内存泄漏的原因、解决方案以及如何找到它们 -

Finding Memory Leaks in WPF-based applications:

http://blogs.msdn.com/b/jgoldb/archive/2008/02/04/finding-memory-leaks-in-wpf-based-applications.aspx

Memory Leaks in WPF applications:

http://svetoslavsavov.blogspot.com/2010/05/memory-leaks-in-wpf-applications.html

Finding Managed Memory Leaks in WPF and Silverlight applications:

http://blogs.msdn.com/b/wpftesting/archive/2009/03/21/finding-managed-memory-leaks-in-wpf-and-silverlight-applications.aspx

如果您使用的是 WPF 3.5 SP1,请查看这些修补程序 -

Memory Leak Hotfixes for WPF 3.5 SP1

http://blogs.msdn.com/b/jgoldb/archive/2010/06/14/memory-leak-hotfixes-for-wpf-3-5-sp1.aspx

一些更罕见的情况会导致内存泄漏 -

http://blog.ramondeklein.nl/?p=58

http://code.logos.com/blog/2008/10/detecting_bindings_that_should_be_onetime.html

关于c# - wpf C# 中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6154810/

相关文章:

c# - 如何获取在 XAML 中定义的 CollectionView

c# - 通过网络复制文件(需要身份验证)

javascript - 如何在.net MVC5 Controller 中编写JavaScript

c# - 如何在wpf中的combobox的显示成员中追加常量值?

Windows 应用程序中的 WPF 组件

c# - 如何在 C# 中的 WebBrowser_DocumentCompleted 中执行多项操作

c# - 使用 C# 和 IIS 7 保护大量下载

c# - 泄漏 Web 服务完成事件?

c# - 寻找 .NET 的命令行参数解析器

c# - WPF 绑定(bind)找不到引用的绑定(bind)源