如何避免.NET3.5上WPF的大量内存泄漏?

如何避免.NET3.5上WPF的大量内存泄漏?,wpf,.net-3.5,Wpf,.net 3.5,当我运行针对.NET3.5的应用程序时,它存在大量内存泄漏。每次我给本地引用分配一个UserControl时,都是50mb。我只创建了每个UserControl的一个实例。如果我编译并运行针对.NET4.0的相同代码,则在50mb左右,一切都可以正常运行 这是3.5版本的已知isue吗?也就是说,它在prod中不可用 /我的客户机只有3.5版本,暂时不会升级到4.0版本,所以我没有简单的选择,是什么让你认为这是一个漏洞,而不仅仅是尚未垃圾收集的内存?您所关心的分析器中的数字之外是否存在一些影响?

当我运行针对.NET3.5的应用程序时,它存在大量内存泄漏。每次我给本地引用分配一个UserControl时,都是50mb。我只创建了每个UserControl的一个实例。如果我编译并运行针对.NET4.0的相同代码,则在50mb左右,一切都可以正常运行

这是3.5版本的已知isue吗?也就是说,它在prod中不可用


/我的客户机只有3.5版本,暂时不会升级到4.0版本,所以我没有简单的选择,是什么让你认为这是一个漏洞,而不仅仅是尚未垃圾收集的内存?您所关心的分析器中的数字之外是否存在一些影响?如果没有,为什么要担心。您希望您的程序使用可用内存还是使用CPU周期来恢复未使用的对象?

WPF 3.5 SP1的内存泄漏修补程序

特别是,请查看这两个修补程序,它们已在.NET 4.0中修复,但可作为修补程序提供给.NET 3.5用户:


对不起,请解释一下?该代码在.Net 4.0上运行良好,您使用什么来确定内存使用情况?如果它是任务管理器,您应该知道使用它是非常不准确的,因为在许多gui交互之后,它抛出了一个OutOfMemory异常。GC永远不会回收漏洞。我想看看做这件事的代码。它更可能是代码中的一个bug而不是框架中的bug。。。而4.0只是更好地处理了这个bug。链接不错。然而,这些似乎主要是指短期记忆压力与弱引用。该死的,你这个蹩脚的WPF!谢谢,这似乎解决了这个问题。但我不能要求我所有的客户都应用这些热修复程序。“有什么解决办法吗?”第二天:我怀疑;必须部署修复程序。如果您的软件具有自动更新功能,则可以将其合并到该功能中。