QWebView setUrl memory leak



  • The virtual memory usage of my simple qtwebkit application increases forever.
    My qtwebkit app simply loops webView->setUrl(QUrl(QStringLiteral("about:blank")), as follows,

        QWebView* webView = new QWebView(centralWidget);
    	webView->setObjectName(QStringLiteral("webView"));
    	webView->setGeometry(QRect(0, 0, width, height));
    
        while (true)
        {
            webView->setUrl(QUrl(QStringLiteral("about:blank")));
            msleep(1); // sleep 1 millisecond
        }
    

    I think the memory usage should be stable in this case, however, the result is not.
    What's the matter? some kind of clearing is required to use setUrl() multiple times?

    • Qt version : 5.4.1
    • OS : Ubuntu 14.04 LTS


  • I think this is by design ... (if it is not a bug)
    http://forum.qt.io/topic/10832/memory-size-increases-per-page-load/4
    ...If you read the description of this classs (found via that link), you find that they INTENTIONALLY designed the QWebView / QGraphicsWebView to grow in memory indefinitely until the OS reclaims the resources!



  • @ThatDud3 However, my test code only loads "about:blank", I think, which has no resource to cache. I am not still understanding why this code incurs infinite virtual memory leak...


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.