Я создаю приложение, которое постоянно создает и удаляет объекты QWebView
. Через некоторое время потребление памяти значительно увеличивается.Освобождение памяти 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
или другой виджет - проблема исчезнет. Я также пробовал функции, такие как clearMemoryCaches
, setObjectCacheCapacities
, удаление страниц, и это все еще не сработало.
Есть ли правильный способ освободить ресурсы в QWebView?
Я использую Qt5.1, построенную с MinGW, в Windows 7 x64.
Да, очень грустно, что QWebEngineView очень ограничен по сравнению с Qt WebKit. – kdkdkdkdkd