c# wpf 内存泄漏

c# wpf memory leak

我最近制作了一个与我工作中的设备通信的桌面应用程序。

该应用程序的总体思路是向设备(烤箱)发出“设置温度”命令,每 10 秒检查一次当前温度并使用实时图表将其显示在图表上。

此应用程序需要 运行 一次 运行 多天,我认为我似乎遇到了内存泄漏问题。 我所经历的是应用程序有一段时间没有响应,然后它变得有响应并每隔大约 1-2 分钟添加一个单一的“日志”效果,就像在 LogTemp 函数中一样。应该是每 10 秒一次。

编辑:刚刚阅读了这次编辑之前的几行,我想我不太清楚。它可以正常工作,因为它应该在最初几个小时内工作。注意到性能仅在 24 小时后受到影响。

运行宁 24 小时后,我回来发现它正在使用超过 800 MB 的 RAM,并且它每秒都在增长。

我怀疑它可能与 livecharts 有关,但我不确定。 (24小时后最终得到8640点数据)

我公开我的代码没有问题,甚至将需要显示的代码量减少到总共 200 行左右,这些代码分为几个不同的函数,但是如果有人听说 livecharts and/or 可以建议不同类型的图形库,我很乐意将其换掉。

Actually, here's the code, lmao:

https://pastebin.com/YBn5CuD6

我想到的另一件事是,我向 ListView 添加了太多行吗?我们说的是 24 小时内 8640 行。这可能与它有关吗?

抱歉这么长post,提前谢谢你。

对于任何感兴趣的人,我降低了采样率,它负责 LiveCharts 图表上有多少点,现在它变得非常流畅,即使在 运行 3 天之后。 (RAM 使用量也约为 90 MB,这是我的应用程序所期望的)

我认为这就是问题所在,所以我会将其标记为下一个使用 LiveCharts 内存泄漏的人的答案。

谢谢大家的帮助。