我正在使用 GalaSoft.MvvmLight 套件和适用于 DataGrid
和 DatePicker
的 WPF Toolkit 开发 WPF MVVM(v3.5 中)应用程序。然而,每次我在 MainWindow
中加载 UserControl
时,我都会在应用程序中面临大量内存泄漏。我正在尝试通过 Scitech Memory profiler 获取确切的问题,但我有一些严重的问题:
- 如何从 VM 中的
Event
中取消/取消绑定(bind)RelayCommand
? - mscorlib 和PresentationFramework 也消耗大量内存,其中大部分是
字符串
。我不知道他们从哪里来。
请帮忙。
最佳答案
看看这些文章,了解 WPF 中内存泄漏的原因、解决方案以及如何找到它们 -
Finding Memory Leaks in WPF-based applications:
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:
如果您使用的是 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/