我正在使用Html / Css中的前端在c ++中执行Qt应用程序。
每次我加载一个新的html页面(或者如果我重新加载一个),应用程序获得+ 5mo ram,并且在退出后不会获得免费。 (所以在10页后我得到+ 50mo ram)
我已经尝试将我的页面加载到矢量中,但加载仍然每次添加5mo。 我还认为在线程中加载页面,因此在使用后它们将被销毁。 这是保持下降公羊重量的可能解决方案吗?
因为我是一个新手,我可能做了一些愚蠢的事情:这是我加载新视图的代码:
Q_INVOKABLE bool myBridge::newView(QString page)
{
QString path = ("file:///" + QDir::currentPath() + "/");
if (!(page.compare("page3.html")))
_mediaPlayer->setTimer(10000);
else
_mediaPlayer->setTimer(60000);
_view->close();
_view = new WebView;
_view->load(QUrl(path + page));
_view->page()->mainFrame()->addToJavaScriptWindowObject("bridge", this);
_view->showFullScreen();
_mediaPlayer->_srnsaver->timerRestart();
return (true);
}
你能在这段代码中看到错误吗?
答案 0 :(得分:0)
每次调用此方法时,您都会创建一个新的WebView
,并且您很可能永远不会删除上一个方法。当然,这会导致内存泄漏,因为没有任何东西被释放。调用close()
不会删除该对象。