TreeView.Items.Filter Утечка памяти, ПОМОГИТЕ! - PullRequest
0 голосов
/ 11 января 2011

У меня ужасная проблема, у меня есть древовидное представление, и я использую его Items.Filter для поддержки параметров поиска.

My TreeView также виртуализируется, поскольку содержит тоны элементов, и, если не виртуализировано, загрузка пользовательского интерфейса занимает минуту.

Моя проблема в том, что всякий раз, когда я устанавливаю фильтр, кажется, что использование памяти увеличивается на 20M !!!

  1. Я не понимаю, почему ListBox не будет использовать элементы, которые у него уже есть, и почему ему нужно создавать новые элементы (я вижу вызовы конструкторов дочерних элементов)
  2. Какого черта он не освобождает старые элементы интерфейса из памяти?!

ПОЖАЛУЙСТА, ПОМОГИТЕ !!! Гили

1 Ответ

0 голосов
/ 11 января 2011

Вы уверены, что старые элементы интерфейса не выпущены? Попробуйте вызвать GC.Collect (); и посмотрим, если вы потеряете эти 20M, это не считается хорошим делом, но оно проверит, выпущены элементы пользовательского интерфейса или нет.

И увеличивается ли он на 20 М каждый раз, когда вы устанавливаете фильтр, или только в первый раз?

...