gpt4 book ai didi

c++ - QWebView内存释放

转载 作者:太空狗 更新时间:2023-10-29 23:17:08 24 4
gpt4 key购买 nike

我正在构建一个不断创建和删除 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。

最佳答案

众所周知,Qt WebKit 存在许多内存泄漏,即使这些“内存泄漏”在某些情况下只是警告。您可以在这里阅读更多相关信息:Qt Bug 40373 ,并查看其他提到这些泄漏的错误报告。

但是,Qt5.6 现在已经出来了(显然不是在你提出问题的时候)。现在,最好使用 QWebEngineView , 这个似乎没有更多的内存泄漏。

关于c++ - QWebView内存释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20120811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com