C# Silverlight工具箱图表组件中可能存在内存泄漏-帮助!
背景: 我在一个监控应用程序中使用了2009年11月发布的Silverlight Toolkit图表组件,该应用程序每隔10秒左右更新多个折线图 每个图表都绑定到一个ObservableCollection。DataValuePair是只包含两个属性(DateTime和int)的简单类。每次向集合添加DataValuePair时,都会删除经过某个时间点的项(即每个集合中始终有<50个DataValuePair对象) 问题: 记忆一直在增长。在WinDbg中,我可以看到DataValuePair对象(甚至是从ObservableCollections中删除的对象)仍然在堆中,并且被图表组件的某些元素引用 在我的应用程序代码中没有对对象的其他引用,并且通过.Remove(项)将对象从ObservableCollections中删除。我假设GC会删除这些内容 有人能看出我在哪里出错了吗?或者这是图表组件的问题吗 干杯!C# Silverlight工具箱图表组件中可能存在内存泄漏-帮助!,c#,silverlight,memory-leaks,charts,C#,Silverlight,Memory Leaks,Charts,背景: 我在一个监控应用程序中使用了2009年11月发布的Silverlight Toolkit图表组件,该应用程序每隔10秒左右更新多个折线图 每个图表都绑定到一个ObservableCollection。DataValuePair是只包含两个属性(DateTime和int)的简单类。每次向集合添加DataValuePair时,都会删除经过某个时间点的项(即每个集合中始终有
克里斯是的,经过两天的努力,我似乎已经解决了这个问题 内存泄漏似乎是由LineDataPoints上的样式造成的,我对此进行了更改:
<Style x:Key="SparklineDataPointStyle" TargetType="charting:LineDataPoint">
<Setter Property="Template" Value="{x:Null}" />
<Setter Property="Background" Value="LimeGreen" />
</Style>
为此:
<Style x:Key="SparklineDataPointStyle" TargetType="charting:LineDataPoint">
<Setter Property="Background" Value="LimeGreen" />
</Style>
即,删除以前设置为null的模板设置器
我不太清楚这是为什么,但我会调查。要调查您的内存使用问题,您可以使用ANTS内存分析器。
我认为它比WinDbg更有用,它显示了每种类型的实例数,并显示了类之间的一些关系图。我指的是它们的连接方式。我想没有人对此有任何更新??