2012-06-12 3 views
0

Я новичок в этом программировании Qt. Я просто пытаюсь сделать приложение для браузера. В этом я использую виджет вкладки и веб-просмотр для загрузки URL-адреса. Когда у меня появляется больше новых вкладок, моя память продолжает расти, и если я закрываю вкладки один за другим, память не уменьшалась. память будет такой же, пока я не закрою последнюю вкладку. я пытался с удалить метод в моем вкладки закрывающиеся слот. Даже после этого память не уменьшается. Любые предложения, пожалуйста ...Как уменьшить память при закрытии закладки

+2

Помните, что память не может быть мгновенно дезагрегирована после удаления. –

+1

А также помните, что C++ имеет свои собственные методы управления памятью. Также операционная система может резервировать удаленную память для процесса и не освобождать ее. Также нет инструмента, который точно показывает использование памяти программой. – Hossein

ответ

1
  1. Проверьте, если ваш слот получает фактически выполненных (установить контрольную точку или добавить что-то вроде qDebug() << "hello!"; - не забудьте #include <QtCore/QDebug>, конечно).

  2. Код распределителя кучи, который входит в состав вашей библиотеки времени выполнения C/C++, вероятно, не освобождает память обратно в операционную систему. Вам нужно будет использовать специфичные для платформы способы просить распределитель кучи, сколько памяти он действительно выделил. Глядя на какой-то браузер процесса ОС, вы не скажете, что происходит, совсем нет.