首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QtWebkit QWebView setUrl内存泄漏

QtWebkit QWebView setUrl内存泄漏
EN

Stack Overflow用户
提问于 2015-11-13 02:38:13
回答 1查看 1.1K关注 0票数 1

我的简单qtwebkit应用程序的虚拟内存使用量将永远增加。我的qtwebkit应用程序简单地循环webView->setUrl(QUrl(QStringLiteral("about:blank")),如下,

代码语言:javascript
复制
QWebView* webView = new QWebView(centralWidget);
webView->setObjectName(QStringLiteral("webView"));
webView->setGeometry(QRect(0, 0, width, height));

while (true)
{
    webView->setUrl(QUrl(QStringLiteral("about:blank")));
    msleep(1); // sleep 1 millisecond
}

我认为在这种情况下,内存的使用应该是稳定的,但是结果并非如此。你怎么了?多次使用setUrl()需要某种类型的清除?

  • Qt版本: 5.4.1
  • 操作系统: Ubuntu 14.04 LTS
EN

回答 1

Stack Overflow用户

发布于 2015-11-13 07:42:56

不幸的是,这对于QtWebKit来说是正常的,而且永远不会被修复,因为现在建议使用QtWebEngine

关于内存泄漏:https://bugreports.qt.io/browse/QTBUG-36530

您可以使用许多技术来清除内存,例如:

代码语言:javascript
复制
QWebSettings::globalSettings()->clearMemoryCaches();

见此处:http://forum.qt.io/topic/10832/memory-size-increases-per-page-load

但通常情况下,这并不是很有帮助,而且只要使用QtWebKit,就会有内存泄漏。如果您正在开发新项目,并且您的平台支持QtWebEngine,那么您应该考虑使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33685057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档