【发布时间】:2020-08-21 19:31:56
【问题描述】:
在研究 WPF 应用程序中内存泄漏的潜在原因时,我看到了这篇文章:
https://oz-code.com/blog/net-c-tips/top-3-memory-leak-inducing-pitfalls-of-wpf-programming
本文提出以下未经证实的声明(它承认)绑定到 ObservableCollection 以外的集合会导致泄漏:
避免绑定到非 ObservableCollection 的集合
我对这个细节有点粗略。我还没能 找到这个问题的根本原因,或找到任何确凿的博客 发布或 MSDN 文章,但仍然:在某些情况下,我发现 当 ItemsControl 绑定到 ICollection 时发生内存泄漏 这不是 ObservableCollection,并将其更改为 ObservableCollection 解决了这个问题。
这是一个准确的说法吗?还是有其他更可能的解释?
我想知道所描述的 OP 是否可能是由于绑定到未实现 INotifyPropertyChanged 的对象引起的? (https://stackoverflow.com/a/18543350/3195477)。
【问题讨论】:
-
如果没有任何方法可以重现潜在问题,该声明当然没有任何意义。 IMO 你可以放心地忽略它。
-
@clemens 谢谢,很高兴听到这至少不是一般问题。我正在追踪一些内存问题,所以要少做一件事情。
-
永远记住,互联网上有很多垃圾。有很多人觉得有必要向世界宣传他们的知识,但实际上他们并不比你我聪明。只是更健谈。
-
@Clemens 这就是我在这里问这个问题的原因:)
标签: wpf observablecollection inotifypropertychanged