У меня есть UserControl в приложении, в котором я постоянно меняю свойство Content другими UIElements.
Однако я заметил, что в Task Manage через некоторое время память увеличивается после нескольких перестановок ...
Используя AntProfiler, я почему-то заметил там ToolBarAutomationPeer, на который ссылается UserControl ....
Чтобы исправить эту утечку памяти, я сделал свой собственный пользовательский контроль со следующим кодом
public class MyUserControl : UserControl
{
protected override System.Windows.Automation.Peers.AutomationPeer OnCreateAutomationPeer()
{
return null;
}
}
Это, кажется, удаляет любые AutomationPeers, на которые может ссылаться пользовательский контроль, которые могут сохранять содержимое, которое я обмениваю, в памяти ...
Но мне все еще интересно знать, как ToolBarAutomationPeer попал в мой UserControl и каковыПоследствия моего возвращения нуля в методе OnCreateAutomationPeer?
Я не очень хорошо разбираюсь в вызовах автоматизации и не уверен, когда они будут полезны
Спасибо