Мы используем множество пользовательских элементов управления, унаследовав от WPFcontrols в качестве основы и настроив их для наших нужд.
Однако память, используемая этими элементами управления, не освобождается даже после закрытия страниц, использующих элементы управления, до тех пор, пока не будет закрыто все приложение.
Поскольку эти приложения должны работать целый день, производительность снижается, поскольку все больше и больше памяти задерживается.
Когда мы профилировали нашу страницу, мы обнаружили, что элементы управления не собираются, поскольку там, где некоторые обязательные ссылки или некоторые границы, кисти и т. Д., Не удаляются из этого элемента управления.
Мы попытались использовать событие Unload элементов управления для удаления событий и некоторых ссылок из элемента управления. Это до некоторой степени уменьшало утечку, но это замедляло закрытие страницы, а также происходило событие unload, когда элемент управления даже был свернут.
Есть ли другие способы преодоления утечки? Есть ли рекомендации по предотвращению утечек памяти?
Спасибо
Эрвинд