Название: Течет QWebView Отправлено: n4ela от Январь 11, 2010, 22:51 Столкнулся с тем что память при удалении QWebView очищается не полностью.
Привожу пример: Есть class Tabbing наследуемый от QTabWidget В этом классе есть вектор QVector< WebBrowser* > webBrowser; WebBrowser наследуется от QWebView Новая вкладка создается так. Коментария на русском не отображаются, напишу транслитом. Код Удаляю вкладку так: Код Вроде бы все правильно, удалил и очистил все что надо. Но на практике это не так. Сужу по htop'y при запуске программы с одной вкладкой rambler.ru занимаемая память 0.8%, открываю еще 49-т вкладок с рамблером занимаемой оперативки становится 4.6%, удаляю 49 вкладок, память 3.8%. Вот с чем связано такая утечка памяти, я что то не так удаляю? Может надо вызвать какой нибудь метод для очистки кеша или еще что? В гугли нашел несколько человек с такими же вопросами, но внятного ответа так и нет, единственное что вычитал что это проблема самого WebKita в Qt. Так ли это? Пока писал этот пост заметил что пока я не трогал свою программу занимаемая память уменьшалась с 3.8% до 2.5% Название: Re: Течет QWebView Отправлено: Dendy от Январь 12, 2010, 00:21 Пользуйтесь Valgrind'ом.
Название: Re: Течет QWebView Отправлено: n4ela от Январь 12, 2010, 01:08 Пробовал прогонять в нем, не уверен что правильно в нем все понимаю.
Вот последнии строчки лога Код т.е. получается что утекло всего порядка 15кб. почему же тогда в htop'e такое большое различие между только что запущенной программой и программой после некоторого времени работы в ней. Название: Re: Течет QWebView Отправлено: BRE от Январь 12, 2010, 01:09 почему же тогда в htop'e такое большое различие между только что запущенной программой и программой после некоторого времени работы в ней. Потому что он показывает не совсем ту "память", которую ты от него ожидаешь. |