QWebEngineView RAM问题(所有内存都在一分钟内被占用)

时间:2015-08-14 11:05:38

标签: qt memory-management out-of-memory qtwebengine

你好,所以到目前为止我遇到了QWebViewEngine的大问题。因为我所做的一切都是QWebEngineView并且说.load(QUrl("http://google.com"))然后.showFullScreen()。启动时,应用程序占用了大约130MB的RAM。当我在谷歌上按下感觉很幸运并且页面加载时,RAM每秒开始上升200mb,当没有更多的可用RAM时它停止了。

任何人遇到此问题或遇到QWebEngineView的经验。 我知道它的Chormium,但在我看来好像它没有正常工作。

有任何建议如何更正?

  

2015年8月14日编辑14:12   这是代码(请注意,大部分都是注释的):

#include "mainwindow.h"
#include <QtWebEngineWidgets/QtWebEngineWidgets>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QScopedPointer>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    view = new QWebEngineView();
    manager = new QNetworkAccessManager();
    settings = new QSettings(":/settings.ini",QSettings::IniFormat);
//    connect(view,SIGNAL(loadFinished(bool)),this,SLOT(CheckPage()));
//    connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(connection(QNetworkReply*)));
//    errorOpen=false;
    settings->beginGroup("URL");
    myUrl = settings->value("curUrl").toString();
    settings->endGroup();
//    view->load(myUrl);
    view->load(QUrl("http://google.com"));
    view->showFullScreen();
    settings->deleteLater();
}

MainWindow::~MainWindow()
{
//    delete view;
//    delete manager;
}

1 个答案:

答案 0 :(得分:0)

我无法在OS X 10.9上的macports qt5-mac @ 5.4.2_1下重现:

//main.cpp
#include <QtWebEngineWidgets>
#include <QApplication>

int main(int argc, char ** argv)
{
   QApplication a(argc, argv);
   QWebEngineView view;
   view.load(QUrl("http://google.com"));
   view.showFullScreen();
   return a.exec();
}
# chromium-32008560.pro
QT       += webenginewidgets
TARGET = chromium-32008560
TEMPLATE = app
SOURCES += main.cpp