Утечка памяти CheckedListBox
Мы пишем диагностический инструмент, который должен работать в течение многих часов одновременно, но мы сталкиваемся с загадочным исключением из памяти, когда мы пытаемся удалить элементы из CheckedListBox после того, как приложение работает в течение нескольких часов.
Мы сначала попробовали использовать checkedListBox.Items.Clear();
, а после некоторого поиска в Интернете, вместо этого мы попробовали что-то вроде следующего:
for (int i = checkedListBox.Items.Count - 1; i >= 0; i--)
{
checkedListBox.Items.RemoveAt(i);
}
К сожалению, вышеизложенное не решило проблему. Я нашел эту идею на форумах MSDN, но я не могу для жизнь меня снова нашла связь этим утром. Однако на этом форуме было сказано, что кто-то профилировал их приложение и обнаружил утечку памяти в CheckedListBox.Items.Clear()
.
Кто-нибудь знает о функциональном обходе?
EDIT: ответ FingerTheCatвременно решил нашу проблему, поэтому я отмечу его как ответ на данный момент. Тем не менее, мы начали прочесывать код, чтобы попытаться найти реальную проблему. К сожалению, текущая реализация в основном является спагетти-кодом, так что, возможно, пройдет несколько дней, прежде чем мы что-нибудь найдем.