我们有一个名为Memory Profiler的redgate工具。有了它,我们可以轻松检查内存泄漏。
现在,在C#.Net 4.0中,我们正试图找出处理事件的最佳方法,以免内存泄漏,但我们不能拥有任何内存!我们尝试的一切都没有留下痕迹!这是我们到目前为止所做的尝试:
现在,关于我们应该如何管理事件处理程序,有各种各样的答案,但是它们都没有带来任何泄漏的实际证据。使用我们的工具,我们的目标是获得实际问题的实际结果,但我们首先不能解决问题。
任何想法如何实际上引发事件的内存泄漏? .Net 4.5或4.6的例子也可以。
答案 0 :(得分:0)
使用带有+ =事件的静态绑定会产生内存泄漏。这是一个已知的错误,您必须手动使用 - =绑定静态时。
通过快速谷歌搜索,我现在找不到bug帖子,但是至少有一个帖子发布了v3.5。
此外,Microsoft确认内存泄漏并在此处提出建议: https://msdn.microsoft.com/library/aa970850(v=vs.100).aspx