1. 程式人生 > >VC++使用gdi+畫圖導致記憶體不斷增加的問題

VC++使用gdi+畫圖導致記憶體不斷增加的問題

好多時候,我們用gdi+做一些動畫的連貫,發現程式執行時記憶體不斷在增加,

在畫圖的時候我們使用了以下程式碼

  Graphics gdi(mdc.m_hDC);
  Image *pic;
  pic = Image::FromFile(L"man.png");
  gdi.DrawImage(pic,0, 0, 1008, 131);

記憶體不斷增加的主要原因是你的使用了FromFile函式後沒有給Image型別的pic指標釋放記憶體。

所以我們需要在畫完圖後使用   delete pic;

另外,雖然這樣的方法能夠避免了記憶體不斷增加的問題,但是不斷地new ,不斷地delete對

程式的效能不太好,所以應該把需要的資源留下,不要再new了,到程式結束後刪除資源。