CheckedListBox内存泄漏

pie*_*bie 6 c# memory-leaks winforms

我们正在编写一个需要一次运行数小时的诊断工具,但是当我们尝试在应用程序运行几个小时后从CheckedListBox中删除项目时,我们遇到了一个神秘的Out of Memory Exception.

我们最初尝试使用checkedListBox.Items.Clear();,经过一些谷歌搜索,我们尝试了类似以下的东西:

for (int i = checkedListBox.Items.Count - 1; i >= 0; i--)
{
   checkedListBox.Items.RemoveAt(i);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,上述并没有解决问题.我在MSDN论坛上发现了这个想法,但我不能为我的生活今天早上再找到这个链接.然而,该论坛确实说有人描述了他们的应用程序并发现内存泄漏CheckedListBox.Items.Clear().

有没有人知道功能性的工作?

编辑: FingerTheCat的答案暂时解决了我们的问题,所以我现在将其标记为答案.但是,我们已经开始梳理代码以尝试找到真正的问题.不幸的是,目前的实施主要是意大利面条代码,所以可能需要几天时间才能找到.

pie*_*bie 0

事实证明,有人在应用程序中留下了一段调试代码,该代码将相当详细的日志信息附加到 a 中,而ArrayList从未清除它。该代码还将 的副本附加ArrayList到自身。忘记带出去绝对不是一件好事。