|
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
|
|
Приложение и занимаемая ею память29.07.2017, 00:50. Показов 1751. Ответов 9
Метки нет (Все метки)
Здравствуйте!
Есть приложение. При запуске занимает 6 мб памяти. Есть возможнось открыть папку и файл (QFileDialog::getExistingDirectory() и QFileDialog::getOpenFileName() соответственно). После вызова одной из функций занимаемая память увеличивается где-то на 10 мб. На форумах говорят что всё нормально, так и должно быть. В приложении так же есть возможность запустить несколько диалоговых окон. При вызове и закрытия каждый из них увеличивает занимаемую память на какие-то кб. Нормальное ли это явление? После выхода из приложения память освобождается.
0
|
|
| 29.07.2017, 00:50 | |
|
Ответы с готовыми решениями:
9
Action и указатели на них. Занимаемая память Память, занимаемая в программах Память занимаемая программой |
|
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191
|
|
| 29.07.2017, 04:31 | |
|
А что вас смущает? QT подгружает динамические библиотеки для открытия диалоговых окон. Пока она тебе не нужна, в память он ее не загружает.
0
|
|
|
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
|
|
| 29.07.2017, 11:50 [ТС] | |
|
crush91, это понятно. Меня смущает то что очищается не вся память.
Т. е. открываю одно из диалоговых окон, память увеличивается, допустим, на 2 мб. После закрытия окна очищаются не все 2 мб. Какие-то кб остаются. Это нормально?
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 29.07.2017, 13:26 | |
|
n1b1ru, воспользуйтесь каким-нибудь memory debugger, и проверь что остаётся неочищенным после работы программы. Возможно дело и не в QFileDialog, а в вашем коде (что там что-то не очищается)...
1
|
|
|
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
|
||||||
| 29.07.2017, 19:30 [ТС] | ||||||
|
TRam_, проверил через Dr. Memory. Действительно не очищалось:
1 unique, 1 total, 688 byte(s) of leak(s) 3 unique, 50 total, 800 byte(s) of possible leak(s) Добавил в деструкторы классов очистку объектов:
0 unique, 0 total, 0 byte(s) of leak(s) 3 unique, 54 total, 864 byte(s) of possible leak(s) Не знаю страшно это или нет...
0
|
||||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 29.07.2017, 21:43 | ||
|
Так делать нельзя, т.к. дважды вызывать delete для одного и того же объекта нельзя, а в твоём случае
1
|
||
|
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
|
|
| 29.07.2017, 22:00 [ТС] | |
|
TRam_, ок, буду искать. А possible leak(s) важны?
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 29.07.2017, 22:21 | ||
|
1
|
||
|
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
|
||||||
| 30.07.2017, 19:09 [ТС] | ||||||
|
Спасибо, TRam_.
Похоже дело было в объекте QTableWidget. Пришлось его удалять в деструкторе. Сейчас всё стабильней. Утечек по крайней мере Dr. Memory больше не обнаруживал. Ещё потестирую. Добавлено через 16 часов 51 минуту TRam_, имеет ли место подобная очистка в деструкторе:
Похоже не имеет. Что-то остаётся иногда в "главном" классе, не пойму пока что именно
0
|
||||||
|
|
|
| 30.07.2017, 20:48 | |
|
Если у наследников QObject есть родитель, объект будет удалён со смертью родителя. вместо
delete obj; лучше дёргать obj->deleteLater();
1
|
|
| 30.07.2017, 20:48 | |
|
Помогаю со студенческими работами здесь
10
Память занимаемая указателем на струкруру Занимаемая память приложения. System.OutOfMemoryException: "Выдано исключение типа "System.OutOfMemoryException"." Ширина занимаемая колонками в DataGridView Приложение съедает память CSS. Невидимый блок и его занимаемая площадь Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|