• 1763阅读
  • 2回复

[提问]内存泄漏问题? [复制链接]

上一主题 下一主题
离线alexltr
 

只看楼主 倒序阅读 楼主  发表于: 2020-08-16
我在QMdiArea中加入subWindow, subWindow也设置了Qt::WA_DeleteOnClose。
但当我关闭这个subWindow后, 进程显示占用的内存没有减少。
在不断的新开窗口--->关闭窗口的过程中,进程中显示占用的内存也越来越大。
Qt::WA_DeleteOnClose这个设置没有起到作用吗?

  1. QMdiSubWindow *subWindow = new QMdiSubWindow(this);
  2.     subWindow->setWidget(window);
  3.     subWindow->setAttribute(Qt::WA_DeleteOnClose);
  4.     ui->mdiArea->addSubWindow(subWindow);
  5.     subWindow->showMaximized();


我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线leeyoung1013

只看该作者 1楼 发表于: 2020-08-17
你可以试试delete,在c++编程中new出来的对象都是通过delete给消除掉,当然qt也提供了一种删除指针的方式,deleteLater楼主也可以试试看
离线alexltr

只看该作者 2楼 发表于: 2020-08-17
回 leeyoung1013 的帖子
leeyoung1013:你可以试试delete,在c++编程中new出来的对象都是通过delete给消除掉,当然qt也提供了一种删除指针的方式,deleteLater楼主也可以试试看 (2020-08-17 13:37) 

谢谢。

昨天找了一遍,发现有一个new出来的对象没有指定parent, 也没有delete, 更改后,关闭窗口会看到进程中的内存数会明显大幅降到接近新建前的水平,但应该还有其它方面的泄漏, 不知道再从哪个方面查了。
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
快速回复
限100 字节
 
上一个 下一个