Есть ли способ отменить регистрацию мультиселектора длинного списка из ObservableCollection?

У меня есть приложение со списком фотографий в ObservableCollection. Я использую этот список в качестве источника для longlistmultiselectos в разных представлениях.

Теперь я понимаю, что представления, использующие этот ObservableCollection, не собираются мусором, и каждый раз, когда пользователь переходит к новому представлению, оно создается снова, независимо от того, находится оно в памяти или нет.

Я думаю, это потому, что ObservableCollection хранит ссылку на представление.

Как я могу сломать эту ссылку? Есть ли другой подход к этой проблеме.

Большое спасибо. Извините за мой английский.


person goda87    schedule 03.06.2013    source источник


Ответы (1)


Установка для свойства ItemSource объекта LongListMultiSelector значения null разорвет этот цикл.

person pantaloons    schedule 03.06.2013
comment
Я так пробовал, похоже не работает. Как я могу проверить, работает ли он? - person goda87; 04.06.2013
comment
Добавьте деструктор в представление и убедитесь, что он вызывается. У вас могут быть другие утечки. Также обратите внимание, что объекты не будут сразу или часто вообще не подвергаться сборке мусора, пока не возникнет нехватка памяти. - person pantaloons; 06.06.2013