c # - Memory Læk i WPF årsag til System.Windows.Forms.Integration.AvalonAdapter

Indlæg af Hanne Mølgaard Plasc

Problem



At køre ANTS Memory Profiler på min WPF-applikation viser en vej til hukommelseslækage, der går gennem System.Windows.Forms.Integration.AvalonAdapter:


GC ...--> WPF Brugerstyring -> System.Windows.Forms.Integration.AvalonAdapter -> System.Windows.Media.ImageBrush -> System.Windows.Media.Imaging. BitmapImage -> System.IO.MemoryStream -> System.Byte [[]]


Har nogen nogen ide om, hvad dette System.Windows.Forms.Integration.AvalonAdapter peger på?

Bedste reference


Hvad vil du helt sikkert vide? Det er en intern klasse, der bruges af ElementHost og to andre interne klasser (ElementHostAutomationPeer og ElementHostPropertyMap). [4]

Andre referencer 1


Weird ingen færdig med at svare her.


Ja, hvis du er vært for en wpf-kontrol i et ElementHost, vil AvalonAdapter oprette en bitmap for baggrunden for kontrollen. Selvom dette ikke er teknisk hukommelse lækage , tager det en overraskende mængde hukommelse op (Bitmaps er tunge).


Dette sker ikke, hvis du ikke er vært.


Jeg har endnu ikke opdaget, hvis der er en løsning (undtagen stop hosting).