我正在构建一个不断创建和删除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();
如果我在循环中运行此函数,则由programm分配的内存会均匀增长。如果我将QWebView
替换为QPlainTextEdit
或其他小部件,问题就会消失。我还尝试了clearMemoryCaches
,setObjectCacheCapacities
等功能,删除了网页,但仍然无效。
是否有正确的方法在QWebView中释放资源?
我使用在Windows 7 x64上使用MinGW构建的Qt5.1。