Название: QTableView очистка памяти Отправлено: mevn от Декабрь 24, 2013, 12:10 Добрый день.
Не подскажете ли, как можно решить следующую проблему. Имеется таблица Код: class SqlDBTbl : public QObject Необходимо чистить память занимаемую этой таблицей. Пробовал так Код: if(table) Название: Re: QTableView очистка памяти Отправлено: Serr500 от Декабрь 24, 2013, 21:45 А с чего был сделан вывод что память не высвобождается?
Название: Re: QTableView очистка памяти Отправлено: mevn от Декабрь 25, 2013, 04:45 А с чего был сделан вывод что память не высвобождается? Проверял - win taskmgr (Программа пишется под винду. 100 Мб в оперативке заметный фрагмент.) Данный класс является родителем нескольких "Таблиц", таблицы переключаются между собой (отображаются на одной форме, но по одной). Среди них есть и пустые, и сильно наполненные (около 100 столбцов и 10000 строк, данные в формате QString ) При запуске, все реагирует более менее нормально. При открытии самой большой таблицы, появляется 100 мб. при открытии других память немного убывает, после этого память в оперативке начинает потихоньку расти. Указанные выше процедуры не привели к ожидаемому результату. Название: Re: QTableView очистка памяти Отправлено: Bepec от Декабрь 25, 2013, 07:33 model.removeRow проверьте, проходит или нет. Булевское значение оно возвращает.
Название: Re: QTableView очистка памяти Отправлено: GreatSnake от Декабрь 25, 2013, 10:55 Обычный Memory Manager приложения (malloc) при освобождении памяти не отдаёт её системе.
Он просто помечает её свободной и переиспользует в дальнейшем. Мало того, нужно иметь в виду, что память может быть фрагментированной и не всегда её можно полностью освободить. Название: Re: QTableView очистка памяти Отправлено: mevn от Декабрь 25, 2013, 16:49 model.removeRow проверьте, проходит или нет. Булевское значение оно возвращает. Спасибо проверю.Название: Re: QTableView очистка памяти Отправлено: mevn от Декабрь 27, 2013, 18:11 Обычный Memory Manager приложения (malloc) при освобождении памяти не отдаёт её системе. Вы правы, проблема решилась следующим образом...Он просто помечает её свободной и переиспользует в дальнейшем. Мало того, нужно иметь в виду, что память может быть фрагментированной и не всегда её можно полностью освободить. Выполнял манипуляции, ставил процесс на запуск (на ночь). Ничего не происходило. Загрузил оперативку винды по полной, все заработало. Не посоветуете ли прогамму для мноиторинга ресурсов под win 7х64? Название: Re: QTableView очистка памяти Отправлено: carrygun от Декабрь 28, 2013, 04:30 Не посоветуете ли прогамму для мноиторинга ресурсов под win 7х64? Монитор ресурсов в диспетчере задач? |