Memory leak while converting images with FreeImage.Net

159 Views Asked by At

When loading the image with the nuget package, (FreeImage 3.18.0.0) it does not unload memory even if '''dib.SetNull()''' was set.

var dib = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_PNG, pngFile.FullName,
FREE_IMAGE_LOAD_FLAGS.DEFAULT);
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JP2, dib, jpgFile.FullName, FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE);
dib.SetNull();
1

There are 1 best solutions below

2
Nasenbaer On BEST ANSWER

FreeImage has additional copy of image you need to unload. FreeImage_Load Memory Leak

try: FreeImage.Unload(dib);

var dib = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_PNG, pngFile.FullName,
FREE_IMAGE_LOAD_FLAGS.DEFAULT);
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JP2, dib, jpgFile.FullName, FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE);
FreeImage.Unload(dib);
dib.SetNull();