C# 使用Syncfusion'时的高进程内存;在屏幕保护程序/屏幕关闭期间,以UWP显示s图表

C# 使用Syncfusion'时的高进程内存;在屏幕保护程序/屏幕关闭期间,以UWP显示s图表,c#,memory,charts,uwp,syncfusion,C#,Memory,Charts,Uwp,Syncfusion,我有一个小的UWP应用程序,可以实时读取数据,并将其显示在Syncfusion(v17.3460.0.14)SfChart上。一切似乎都运行正常,但我把它放了一夜,早上它使用了超过8Gb的内存(并且被冻结了)! 经过调试,当屏幕保护程序启动时,大概当屏幕进入睡眠状态时,进程内存开始缓慢增加,在几个小时内达到GBs;当屏幕保护程序关闭时,内存使用将恢复到其正常预期水平(120MB进程/80MB heap)。 如果我在使用电脑时让它保持运行,就没有问题了 我将代码简化为一个小示例。通常,数据来自we

我有一个小的UWP应用程序,可以实时读取数据,并将其显示在
Syncfusion(v17.3460.0.14)SfChart
上。一切似乎都运行正常,但我把它放了一夜,早上它使用了超过8Gb的内存(并且被冻结了)! 经过调试,当屏幕保护程序启动时,大概当屏幕进入睡眠状态时,进程内存开始缓慢增加,在几个小时内达到GBs;当屏幕保护程序关闭时,内存使用将恢复到其正常预期水平(
120MB进程/80MB hea
p)。 如果我在使用电脑时让它保持运行,就没有问题了

我将代码简化为一个小示例。通常,数据来自
web API
。从FastLineSeries的ItemsSource属性中删除数据绑定会导致问题消失

公共类数据点
{
公共日期时间时间戳{get;set;}
公共长期可达率{get;set;}
}
私有只读调度程序_timer=新调度程序();
公共可观测收集数据{get;}
=新的ObservableCollection();
公共图形页()
{
this.InitializeComponent();
_timer.Interval=TimeSpan.FromSeconds(1);
_timer.Tick+=this.timer\u Tick;
_timer.Start();
}
专用异步无效计时器(对象发送器,对象e)
{
var now=DateTime.now;
var ran=new Random();
添加(新数据点)
{
时间戳=现在,
可实现率=下一个(8000,10000),
});
}

下面是一个简短的例子。此时,应用程序已经运行了大约30分钟,屏幕保护程序已打开。在上升之前(以及第一个快照),屏幕保护程序被禁用

那么,这是我的代码的问题还是Syncfusion中的bug或其他dotnet/UWP怪癖?