Memory leak in using ColorKeyBitmap

Oct 13, 2011 at 3:51 PM

I have called bellow code many times, memory usage rapidly increased!

...

BitmapSource bitSrc = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(...);

ColorKeyBitmap colorKeyBmp = new ColorKeyBitmap();
colorKeyBmp.TransparentColor = Color.FromArgb(255, 255, 255, 255);
colorKeyBmp.Source = bitSrc;

img.Source = colorKeyBmp;

...

But change code below, no memory leak!

...

img.Source = bitSrc;

...

Please help me!

 

 

Coordinator
Oct 13, 2011 at 7:34 PM

I have just checked in a workaround. I implemented IDisposable on CustomBitmap and ChainedBitmap, and use private reflection to break the problematic cycle. I also added a GC button to the UI to help test.


Oct 14, 2011 at 2:04 AM

Thank you very much for your help!