我正在使用html中的前端在Cpp中进行Qt应用。
我的问题是:每当我加载一个新的html页面时,我的应用程序得+ = 5Mo。
我试图删除旧页面,似乎工作但我仍然每个新页面都有+ 5米。
这是我的代码:
Q_INVOKABLE bool myBridge::newView(QString page)
{
QString path = "file:///C:/Users/ITIZ32/Desktop/WLC/Borne/";
//QString path = ("file:///" + QDir::currentPath() + "/");
if (!(page.compare("page3.html")))
_mediaPlayer->setTimer(10000);
else
_mediaPlayer->setTimer(60000);
_view->close();
_view = nullptr;
delete _view;
_view = new WebView;
_view->load(QUrl(path + page));
_view->page()->mainFrame()->addToJavaScriptWindowObject("bridge", this);
_view->showFullScreen();
_mediaPlayer->_srnsaver->timerRestart();
return (true);
}
我尝试了很多东西(比如预加载向量中的所有页面)但我仍然不明白如何在我的html页面之间正确切换,负载总是给我泄漏。 你有什么提示可以帮助我吗?我开始无望了。
你们中的一些人可能会看到我的老帖子,我很抱歉再发一个但是最后一个没有帮助我:/
答案 0 :(得分:0)
检查您的代码
_view->close();
_view = nullptr;
delete _view;
删除空指针无效。
首先删除_view,然后将其设置为null。
在您的情况下,无需删除旧视图,只需调用load(newurl)即可加载网页。