Prism中的内存泄漏从区域分离视图

时间:2016-11-23 06:49:06

标签: c# wpf memory-leaks prism

在我的WPF / Prism应用程序中,一个带有Region的窗口被重复显示/关闭,其中附加到Region的View是一个单例。

enter image description here

这种重复的显示/关闭操作会导致Window实例的内存泄漏(直到OutOfMemoryException才会收集)。所以我检查了VS Profiler,发现Prism的BindRegionContextToDependencyObjectBehavior似乎是泄漏的根本原因,因为它保存了RegionContext(我的app中没有使用)到Region的事件链接(即{{1} }})。我认为Prism在Region.Context == null时不对称地添加/删除此事件,但由于它是私有的,所以不能理顺它。

如果我每次创建新的View都不会发生这种情况,但出于某种原因我想重用实例(但不是Window实例)。

我该如何避免这个问题?

0 个答案:

没有答案