CImage内存泄漏?

时间:2016-12-07 13:57:56

标签: c++ windows memory-leaks hbitmap

我一直在尝试使用存储在HBITMAP中的屏幕截图并将其存储为PNG图像。

但是,代码中似乎有内存泄漏,因为内存似乎没有正确释放。

void saveAsPNG(HBITMAP h)
{
CImage image;

if(_access(location, 0) == 0)
{
    unlink(location); //Delete the image if currently exists
}


image.Attach(h);

image.Save(location,Gdiplus::ImageFormatPNG);


h = image.Detach();


image.Destroy();
image.ReleaseGDIPlus();
}

此代码有效,但似乎没有发生内存清理。根据任务管理器中的私有内存集列,image.Destroy根本不会影响内存,而image.ReleaseGDIPlus似乎会清理一些数据。 HBITMAP来自之前的函数,并且代码中的GlobalFreed稍后将与该函数分开。

是否缺少一条线?

0 个答案:

没有答案