powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / DataBinding Collection утечки памяти
9 сообщений из 9, страница 1 из 1
DataBinding Collection утечки памяти
    #37381165
LxTLT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы уж простите если вопрос уже сто раз обсуждался. Я не нашел.

Есть у меня
Код: plaintext
1.
<DataGrid ItemsSource="{Binding Playlist}" />

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        private ObservableCollection<PlaylistItem> _Playlist = new ObservableCollection<PlaylistItem>();
        public ObservableCollection<PlaylistItem> Playlist
        {
            get
            {
                return _Playlist;
            }
            set
            {
                _Playlist = value;

                OnPropertyChanged("Playlist");
            }
        }

В этот список то добаляются элементы, то удаляются. Например так:

Код: plaintext
1.
Playlist.Clear();

Все бы хорошо, только утечки памяти большие. Я загрузил sos.dll. В памяти количество PlaylistItem разрастается.
Код: plaintext
1.
2.
3.
Playlist.Clear();
Playlist = new Playlist();
GC.Collect();
Чуть чуть помагает, но все равно память засоряется. По идее проблема банальная наверное, но не могу собразить как решить.
Может посоветуете что?
...
Рейтинг: 0 / 0
DataBinding Collection утечки памяти
    #37381212
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так погодь.
clear , а потом новый объект?
ведь clear для, того и нужен, чтобы не создавать коллекцию заново.
...
Рейтинг: 0 / 0
DataBinding Collection утечки памяти
    #37381215
LxTLT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeiKтак погодь.
clear , а потом новый объект?
ведь clear для, того и нужен, чтобы не создавать коллекцию заново.

Это если предположить, что проблема в биндинге wpf. И он не позволяет освободится элементам коллекции, которые могу быть использованы UI, а тут новый список типа, ничего не знаю. Но это тоже не помагает, что не удивительно.
...
Рейтинг: 0 / 0
DataBinding Collection утечки памяти
    #37381800
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LxTLTAlexeiKтак погодь.
clear , а потом новый объект?
ведь clear для, того и нужен, чтобы не создавать коллекцию заново.

Это если предположить, что проблема в биндинге wpf. И он не позволяет освободится элементам коллекции, которые могу быть использованы UI, а тут новый список типа, ничего не знаю. Но это тоже не помагает, что не удивительно.

Не нужно предпологать, binding использует слабые ссылки. Это или стандартное поведение сборщика мусора, или что-то держит данные, например, подписка на измение коллекции. Тестировать нужно или с принудительным вызовом сборщика мусора, или профайлером памяти, который это делает сам.
...
Рейтинг: 0 / 0
DataBinding Collection утечки памяти
    #37381921
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если так?
Код: plaintext
1.
Playlist = null;
Playlist = new Playlist();
...
Рейтинг: 0 / 0
DataBinding Collection утечки памяти
    #37383896
LxTLT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет пока ничего не помагает
...
Рейтинг: 0 / 0
DataBinding Collection утечки памяти
    #37383915
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи исходный код и опиши методику определения
...
Рейтинг: 0 / 0
DataBinding Collection утечки памяти
    #37385876
LxTLT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaПокажи исходный код и опиши методику определения

Код выше.

Определяю что есть утечки использя сос.длл

!DumpHeap -type PlaylistItem
...
Рейтинг: 0 / 0
DataBinding Collection утечки памяти
    #37385958
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LxTLTSeVaПокажи исходный код и опиши методику определения

Код выше.

Определяю что есть утечки использя сос.длл

!DumpHeap -type PlaylistItem

Не верится, что это весь код. Наверняка, где-то еще обработчики закопаны. На таком ровном месте не может быть утечек.
sos может замечательно показывать, что держит записи. Гугли "find memory leak wpf sos"
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / DataBinding Collection утечки памяти
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]