WPF WeakReference создает память с течением времени - PullRequest
0 голосов
/ 16 октября 2018

У меня есть приложение WPF, которое использует MEF для загрузки некоторых диалогов.Я заметил, что через некоторое время он начинает создавать все больше и больше WeakReferences, которые, кажется, не освобождаются.Тестовый сценарий имеет элемент памяти для наращивания ~ 3 ГБ.Диалог вызывает DataService и перезагружает содержимое DataGrid.

В чем может быть причина того, что такое количество WeakReferences не освобождается?Я не вижу никаких ссылок на конкретные приложения.Ниже приведена фотография сеанса профилирования памяти с видом на последние добавленные элементы.Количество добавленных WeakReferences заметно.

Заранее спасибо.

Memory issue

ОБНОВЛЕНИЕ: Профилировщик Iна удаленном компьютере показывает, что сборка в основном вызвана новыми WeakReference s.WaitCallback, вероятно, из-за цикла, который я сделал, чтобы разработать проблему и вызывать обновление каждую секунду.В противном случае Дельта Объектов является чистой.

Memory profiling

...