我对Qt中的内存泄漏有疑问。
我有一个带有2个QPushButtons的QMainWindow。
第一个按钮点击信号:
m_label = new QLabel(this);
QPixmap pix(this->size());
QPainter painter;
painter.begin(&pix);
QImage img("1.png");
painter.drawPixmap(this->rect(), QPixmap::fromImage(img));
m_label->setPixmap(pix);
painter.end();
Secont按钮点击信号:
delete m_label;
当我启动测试应用程序时,分配的内存大约为11900 Kb 当我点击第一个按钮时,为app分配的内存大约是12450 Kb 当我点击第二个按钮时,我分配了大约12250 Kb的内存
为什么我没有得到相同的11900 Kb?这是泄密吗?
所以如果要编写以下代码:
QImage img("1.png");
QImage img1("1.png");
QImage img2("1.png");
QImage img3("1.png");
QImage img4("1.png");
QImage img5("1.png");
QImage img6("1.png");
QImage img7("1.png");
QImage img8("1.png");
QImage img9("1.png");
然后分配的内存增长但不减少。为什么?如何清理这个内存泄漏?
答案 0 :(得分:3)