我打算建立一个WPF MVVM业务应用框架,这样做的谈论在WPF平台的内存泄漏的研究时,我遇到了许多文章.
在Windows Presentation Foundation中使用数据绑定时可能会发生
内存泄漏使用DataBinding避免WPF内存泄漏(黑魔法)
严重内存泄漏瘟疫WPF
前5个WPF和Silverlight中的内存泄漏
WPF绑定错误导致可能的内存问题
但大多数可以追溯到2007年和2008年,所以我想知道哪些已经解决了,哪些没有解决.
换句话说,在构建我的框架或一般情况下(WPF 4.0,.NET 4.0)时,可能会出现哪些内存泄漏(可能会发生)?
编辑:我会尝试更具体.我可以利用WeakEventManager它及其子类来监听事件而无需开发自己的解决方案吗?
编辑2:更具体.我是否可以使用它WeakEventManager来解决.NET中事件导致的内存泄漏问题,而不仅仅是WPF?如果是这样,为什么它是WPF命名空间的一部分而不是一般的.NET命名空间?
首先出现在我的脑海里:
您在开始之前考虑这一点的事实是一个加分,投资一个好的MemoryProfiler并定期从一开始就配置您的应用程序,你会没事的.
编辑:评论您的编辑:检查您的链接我认为您可以隔离三个主要主题:
关于弱事件的编辑,是的,这可能有用.就个人而言,我不会考虑这种良好做法,因为它可能会导致您的模型暴露您注册的事件的时间比您预期的要早.我建议加倍努力,有意识地取消注册您的处理程序.