【问题标题】:How do I avoid memory leak when closing a QWebView?关闭 QWebView 时如何避免内存泄漏?
【发布时间】:2017-11-28 22:05:59
【问题描述】:

我确实在主窗口的退出事件上调用了 close(),但我可以看到控制台内存泄漏;如:

LEAK: 3 XMLHttpRequest
LEAK: 26 CachedResource
LEAK: 293 WebCoreNode

我确实像这样关闭浏览器:

void MainWindow::closeEvent(QCloseEvent *e)
{
    Q_UNUSED(e);
    webControl.close();
}

webControlQWebPage类型,MainWindow是QMainWindow

在请求关闭主窗口后立即关闭 Web 浏览器控件的正确方法是什么,以避免此类内存泄漏?

【问题讨论】:

  • 确保所有分配的内存都是空闲的,
  • 这是一个 WebKit QWebView
  • 你能告诉我们更多关于该类分配的信息吗?也许是要点中的代码或其他东西?
  • 我依稀记得在一个旧项目上有类似的输出。我从未调查过它(不写它),但我会考虑它只是 QWebViews 错误的可能性。它甚至不再维护。

标签: qt memory-leaks qt5 qwebview


【解决方案1】:

我记得之前回答过,那里是:Memory leak in QWebView

这个答案是针对以前版本的 Qt (5.4.2),但我发现它仍然会影响最近的版本:请参阅 herehere

很遗憾,您对此无能为力,因为所有这些报告的错误在最新版本 (Qt5.9.2) 中尚未解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 1970-01-01
    • 2017-10-31
    • 2018-04-08
    相关资源
    最近更新 更多