内存绘图造成内存不断增加,请高手帮忙看一下
我下面的代码是在MapX的OnDrawUserMap中的,可以看做是在View类的OnDraw函数中。m_ctrlMapX是CMapX的对象;
CDC *pdc=m_ctrlMapX.GetDC();
CDC dcmem;
dcmem.CreateCompatibleDC(pdc);
CBitmap bmp;
CBitmap* pOldBmp = NULL;
CRect rc;
GetClientRect(&rc);
bmp.CreateCompatibleBitmap(pdc,rc.Width(),rc.Height());
pOldBmp=dcmem.SelectObject(&bmp);
dcmem.BitBlt(0,0,rc.Width(),rc.Height(),pdc,0,0,SRCCOPY);
m_Meteo.DrawMeteo(&dcmem);
pdc->BitBlt(0,0,1000,1000,&dcmem,0,0,SRCCOPY);
dcmem.SelectObject(pOldBmp);
dcmem.DeleteDC();
bmp.DeleteObject();
我曾经在最后添加:m_ctrlMapX.ReleaseDC(pdc);但是没有效果,只要用户图层一重新绘制就会增加一点内存,长时间就会报错。
那位仁兄有解决这个问题的经验请不吝赐教,谢谢!!