c# - c# wpf 内存泄漏
问题描述
我最近制作了一个桌面应用程序,可以与我工作的设备进行通信。
该应用程序的总体思路是给设备(烤箱)一个“设置温度”命令,每 10 秒检查一次当前温度并使用实时图表将其显示在图表上。
这个应用程序需要一次运行多天,我认为我似乎遇到了内存泄漏问题。我的经验是应用程序有一段时间没有响应,然后它变得响应并添加 1 个单一的“日志”效果,就像在 LogTemp 函数中一样,每 1-2 分钟左右。应该每 10 秒一次。
编辑:刚刚阅读此编辑之前的行,我想我不太清楚。它可以正常工作,因为它应该在最初的几个小时内工作。注意到性能仅在 24 小时后才受到打击。
运行 24 小时后,我回来发现它使用了超过 800 MB 的 RAM,而且它还在以秒的速度增长。
我怀疑它可能与实时图表有关,但我不确定。(24 小时后得到 8640 个数据点)
我公开我的代码没有问题,甚至将需要显示的代码量减少到总共大约 200 行,这些代码被分成几个不同的功能,但是如果有人听说过实时图表和/或可以建议一个这样的问题不同类型的图形库我很乐意将其换掉。
Actually, here's the code, lmao:
我想到的另一件事,可能是我向 ListView 添加了太多行吗?我们正在谈论.. 24 小时内 8640 行。可能与它有关吗?
抱歉发了这么长的帖子,提前谢谢你。
解决方案
对于任何感兴趣的人,我降低了负责 LiveCharts 图表上有多少点的采样率,即使运行了 3 天,它现在也非常顺利。(RAM 使用量也在 90 MB 左右,这是我的应用程序所预期的)
我相信这就是问题所在,因此我会将其标记为下一个人搜索 LiveCharts 内存泄漏的答案。
谢谢大家的帮助。
推荐阅读
- django - How to assign UserProfile with WishList without using a default user
- java - 将变量传递给 Hadoop 中的映射器和化简器(旧 api)
- iframe - Youtube embedded video autoplay
- angular - 如何在angular5中循环ngx-smart-modal
- javascript - 如何通过ajax将两个数组发送到控制器
- android - Kotlin Android 搜索菜单项在活动开始时聚焦
- python - 绘制一个强度下降的非增长圆
- r - 获取比较多列的单列值
- excel - 从 Excel 调用 Access 函数
- lua - 为什么这个lua变量是nil,如果赋值语句后跟一个“,”