使用 FreeImage.Net 转换图像时内存泄漏

Memory leak while converting images with FreeImage.Net

使用 nuget 包加载图像时,(FreeImage 3.18.0.0) 即使设置了“'dib.SetNull()'”也不会卸载内存。

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();

FreeImage 有您需要卸载的额外图像副本。 FreeImage_Load Memory Leak

尝试: 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();