2015-08-14 2 views
0

Здравствуйте, у меня есть БОЛЬШАЯ проблема с QWebViewEngine. Потому что все, что я сделал, был создан QWebEngineView и сказал .load(QUrl("http://google.com")), а затем .showFullScreen(). При запуске приложение заняло около 130 МБ ОЗУ. Когда я нажал, чувствую себя счастливым в Google, и страница внезапно загрузилась, ОЗУ начало подниматься на 200 мб каждую секунду, и оно остановилось, когда больше не было свободной ОЗУ.Проблемы с памятью QWebEngineView (вся память берется ею через минуту)

У кого-либо была эта проблема или опыт работы с QWebEngineView. Я знаю его Chormium, но мне кажется, что он не работает правильно.

Любые предложения, как исправить это?

Edited 14/08/2015 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; 
} 
+0

Я использую QT 5.5 MSVC2013 64bi t с отладчиком MVC++ Compiler 12.0 и Windows SDK 8.1. Платформа - это окна, и я думаю, что ее предварительная компоновка с тех пор, как я загрузил ее с веб-страницы QT, как настройка. –

ответ

0

Я не могу воспроизвести под qt5-макинтош @ 5.4 .2_1 из MacPorts на OS X 10.9:

//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 
+0

@ AlexanderBaťka Итак, код, который я разместил здесь, воспроизводит проблему для вас? Скопируйте-вставьте два файла из этого вопроса или проверьте их с помощью git из https://github.com/KubaO/stackoverflown.git (номер ответа находится в имени папки), скомпилируйте и запустите. Вы видите проблему? –

+0

К сожалению, да, я тоже пробовал этот апробак, но ничего не изменилось: -/Тем не менее он летает, как птица. –

+0

@ AlexanderBaťka Итак, вы можете скопировать код из этого ответа и прикрепить его в качестве тестового примера в отчете об ошибке Qt. Это должна быть ошибка Qt - будьте очень осторожны, чтобы предоставить точные версии всего, что вы используете (Qt, MSVC, Windows, будь то встроенная Qt или бинарная загрузка и если да, откуда и т. Д.), Чтобы у нее была возможность воспроизведения. –

Смежные вопросы