QWebView内存释放

3

我正在开发一个应用程序,它不断地创建和删除 QWebView 对象。一段时间后,内存消耗会显著增加。

我建立了一个最小的示例来演示这个问题。

QList<QWebView *>views;


for(int i = 0;i<500;i++)
{
    QWebView *view = new QWebView();
    view->setHtml("Test");
    views.append(view);
}

foreach(QWebView *view,views)
{
    delete view;
}
views.clear();

如果我在循环中运行此函数,则程序分配的内存会均匀增长。如果我将QWebView替换为QPlainTextEdit或其他小部件,则问题消失了。我还尝试过像clearMemoryCachessetObjectCacheCapacities,删除页面等函数,但仍然无效。
是否有正确的方法来释放QWebView中的资源?
我使用在Windows 7 x64上使用MinGW构建的Qt5.1。
1个回答

0

Qt WebKit被认为存在许多内存泄漏问题,尽管在某些情况下这些“内存泄漏”只是警告。您可以在此处阅读更多信息:Qt Bug 40373,并查看其他报告中提到的这些泄漏。

然而,现在Qt5.6已经发布(当时还没有),现在最好使用QWebEngineView,似乎这个版本没有内存泄漏问题了。


是的,非常遗憾,与Qt WebKit相比,QWebEngineView非常有限。 - kdkdkdkdkd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接