Есть программа - каждую минуту обращается по некому url и анализирует полученный текст.
Через QWebPage.
Так вот размер программы в памяти при старте 20 мб. Через час на 1 мб больше. Через 10 программа в памяти занимает уже 40 мб.
Течь памяти неоткуда кроме как через QWebPage.
Пробовал задать ему максимальное количество кешированных страниц - не помогает.
C++ (Qt)
m_webpage->settings()->setMaximumPagesInCache(1);
Вкратце код программы:
В Диалоге
C++ (Qt)
MainWindow::MainWindow(QWidget * parent, Qt::WindowFlags f) : QDialog(parent, f)
{
...
m_webpage = new QWebPage(this);
m_webpage->settings()->setMaximumPagesInCache(1);
connect(m_webpage, SIGNAL(loadFinished(bool)), this, SLOT(pageLoaded(bool)));
...
}
Таймер
C++ (Qt)
void MainWindow::timerEvent ( QTimerEvent * event )
{
m_webpage->mainFrame()->setContent(QByteArray());
m_webpage->mainFrame()->load(QUrl(m_address));
}
Загрузились
C++ (Qt)
void MainWindow::pageLoaded(bool ok)
{
if (!ok)
return;
QString code = m_webpage->mainFrame()->toHtml();
...
//обработка кода
...
}
Никто не сталкивался в чем тут дело?