【问题标题】:Memory leak with WPF & ItemsControl (VB.NET)WPF 和 ItemsControl (VB.NET) 的内存泄漏
【发布时间】:2011-02-15 16:28:33
【问题描述】:

我有一个 ItemsControl,它使用 DataTemplate 在我的 customClass 中显示属性,它实现了 INotifyPropertyChanged...

很简单...

DataTemplate 中的一些项目使用 CommandBindings(例如按钮),还有一些项目有一些代码隐藏(糟糕)。

当我清空 ItemsControl 并设置 customClass = Nothing 的所有实例时,我的程序不会释放任何内存。这很快就会成为一个问题!

知道我应该从哪里开始寻找吗?我什至已经完全遍历了每个 DataTemplate 实例的可视化树并设置了每个 Visual = Nothing. 虽然这应该有任何影响,但我并不是真的。

【问题讨论】:

    标签: .net wpf vb.net memory-leaks itemscontrol


    【解决方案1】:

    不完全确定在哪里查看,但一定要检查是否有底层事件连接正在建立。

    如果存在事件委托添加操作,请确保将其删除。

    如果 Command 绑定看起来是问题,请考虑在设置为空时找到清除 Command 绑定的方法。

    另外,更激进的是,开始寻找使用 Wea​​kReferences 等,直到您至少可以查明导致泄漏的原因。

    狩猎愉快!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 2010-12-05
      • 2011-03-19
      相关资源
      最近更新 更多