Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: kirill от Май 05, 2009, 14:47



Название: Утечка в QWebPage?
Отправлено: kirill от Май 05, 2009, 14:47
Есть программа - каждую минуту обращается по некому 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();
   ...
  //обработка кода
  ...
}
 

Никто не сталкивался в чем тут дело?


Название: Re: Утечка в QWebPage?
Отправлено: pastor от Май 05, 2009, 15:14
Запускай под Valgrind и смотри где течет память


Название: Re: Утечка в QWebPage?
Отправлено: sendevent от Май 05, 2009, 15:55
Тоже недавно обратил внимание - явно прослеживается связь с размером полученных данных (при загрузке example.com утекает меньше, чем при загрузке мылору, например).
В браузере из демо - похожая ситуация: при периодическом рефреше одного и того же документа появляется расход, который уходит после минимизации окна (эт под виндовз).
Пытался смотреть волгриндом, по его мнению - тысячи их, ошибок в кьют... (это уже вроде обсуждалось, но как выудить полезную информацию - пока не разобрался :-\)
qt 4.5.0 os


Название: Re: Утечка в QWebPage?
Отправлено: IMPOMEZIA от Май 05, 2009, 16:35
248414 (http://www.qtsoftware.com/developer/task-tracker/index_html?method=entry&id=248414)


Название: Re: Утечка в QWebPage?
Отправлено: kirill от Май 06, 2009, 08:18
Вот засада.
Чо теперь придется в таймере создавать и удалять объект QWebPage?