GDI+泄漏怎么那么高
用的是如下代码:
Gdiplus::Graphics graphics(m_hWnd);
Gdiplus::Image *image = NULL;
image = Gdiplus::Image::FromFile( g_pAppInfo->m_strPicPathFacade );
RectF rt(10, 128, 660, 495);
graphics.DrawImage(image, rt);
//graphics.Clear();
DeleteObject(&graphics);
if ( NULL != image ) { delete image;image = NULL; }
因为图片比较大,放在OnPaint里面,发现其GDI对象成百倍增长,太夸张了,我程序跑个几分钟就死了,到底应该怎么办呢,调用的时候我调用了OnPaint消息:PostMessage(WM_PAINT); 这个有影响吗,大概2秒钟调用一次 gdi+ 图片 GDI泄漏 WM_PAINT OnPaint
[解决办法]
事实上是C++底下其实并不能释放GDI+的资源,GDI+在C#是靠垃圾回收机制进行资源释放的。
所以把image当成一个成员变量吧。
[解决办法]
好像没理由这样的,delete image之后就可以了
[解决办法]