我在使用Html/Css的前端在C++中執行Qt應用程序。Qt C++如何在加載新的HTML頁面後釋放內存
每次我加載一個新的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);
}
你能看到一些錯誤的代碼?
您在函數中創建了一個新的'WebView',但是您似乎從未刪除舊的? –
我會嘗試在TMPview中放置_view來放置我的新頁面並刪除舊的 –
在執行'new'前初始化'_view'到'nullptr'(或'0'或'NULL'),並調用do'delete' 。哦,並且在通過調用'_view-> close()'試圖解引用指針之前,檢查*空指針。 –