我在Windows 7上使用.NET 4.5,可能会发现内存泄漏。
我有一个 TextBlock
(不 TextBox
- 它不是Undo问题),它每秒都会改变它的值(CPU使用率,时间等......)。
运用 .NET Memory Profiler
(通过简单地观察任务管理器)我注意到内存不断增长。为了更准确,我看到越来越多的实时实例 UnmanagedMemoryStream
(我试过了 GC.Collect()
这显然没有做任何事情)。
经过一些测试,我发现只有在我设置时才会出现此问题 TextBlock
字体到资源字体如下:
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Control.Foreground" Value="#CCCCCC"/>
<Setter Property="FontFamily" Value="pack://application:,,,/MyUIControls;component/./Fonts/#Noto Sans"/>
</Style>
我试过更新了 Text
直接来自代码或通过Binding的属性,它对两种方式都表现相同。
底线:
当。。。的时候 FontFamily
设置,实例 UnmanagedMemoryStream
每次我更新文本时都会继续(永远)。当我不(设置 FontFamily
财产),记忆力稳定。
(顺便说一句,它发生在我使用时 Label
代替 TextBlock
以及)
它看起来像是内存泄漏,但我找不到任何关于它的参考。
有关如何解决的任何建议?