QWebView を一度でも new すると、ヒープを580MB 消費する
プロジェクト (*.pro) に webkitwidgets を追加します
QT += webkitwidgets
QWebView を new し delete するコードを加えて、ヒープ残量を確認します。
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QtWebKitWidgets> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // 以下2行のコードの有無で、ヒープ残量が580MB 変化する QWebView* wv = new QWebView( this ); delete wv; // ヒープの確認 (Check Heap Size) int s = 0; int len = 1000 * 1000 * 10; while (true) { void* ptr = malloc( len ); if (ptr == NULL) break; memset( ptr, 128, len ); s += 10; } setWindowTitle( QString::number(s) + " MB" ); }
QWebView の new,delete のコードがあると、960 MB。
コメントアウトすると、1540 MB と表示されます。