this.Dispatcher.Invoke(
new Action(() =>
{
if (currentImage != null)
{
currentImage.Dispose();
currentImage = null;
}
this.currentImage = render.render(value);
this.mainImage.Source =
System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
currentImage.GetHbitmap(),
IntPtr.Zero,
Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
}));
Примечание this.mainImage - это контроллер изображения в WPF. Не я нашел, что есть некоторые утечки памяти, когда я исполняю предложение «this.mainImage.Source = XXXX» я обнаружил, что нет никакого способа, чтобы освободить память, удерживаемую this.mainImage.Sourceстранная утечка памяти C# с использованием GDI
Возможно, стоит перефразировать это как вопрос. – KingCronus