如何防止由Brush引起的WPF内存泄漏

时间:2014-10-14 08:16:01

标签: c# .net wpf memory-leaks brush

一个SolidColorBrush用作DynamicResource,导致主要的内存泄漏,因为它保留了2个对ResourceRefenceExpression的引用(通过EventHandler和ModifiedValue)。

它已经写过,这个bug已经在.NET 4.0上得到了解决,但不幸的是它仍然存在......(在.NET 4.5上)。

我发现了2个(效率低下)变通办法:

  • 冻结静电刷。
  • 将动态画笔设置为非共享。

请帮我弄清楚以下问题:

  1. .NET 4.5上如何发生此泄漏?
  2. 将1000多个画笔设置为非共享可能非常昂贵,是否有更有效的方法来克服这种泄漏?

0 个答案:

没有答案