我已将图像(平铺)作为背景添加到从wxPanel继承的类中
在构造函数内部,下面的第二行导致内存泄漏(在调试模式下报告)
wxImage bg(_("images/textures/icobbg8.jpg"), wxBITMAP_TYPE_JPEG);
SetBackgroundBitmap(wxBitmap(bg));
如果我发表评论,则不再报告
SetBackgroundBitmap
内存泄漏。注–在调试过程中,在查看了调用堆栈之后,我对了该语句进行了四舍五入。
请告诉我,如何克服内存泄漏。
最佳答案
您应该致电SetBackgroundBitmap(wxNullBitmap)
在你的破坏者中
Class MyPanel:public wxPanel
{
MyPanel(wxWindow* parent, int x, int y, int w, int h);
~MyPanel();
};
MyPanel::~MyPanel()
{
SetBackgroundBitmap(wxNullBitmap); //set null bitmap backgrond, so not
//reference bg to overcome the leak
}
关于c++ - 由于SetBackgroundBitmap而导致的内存泄漏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8642559/