Это либо смехотворно просто, либо слишком сложно. , , .
В нашем приложении есть форма, которая загружает некоторые данные из базы данных и отображает их в сетке (проще говоря). Когда данные обновляются, общее использование памяти увеличивается приблизительно на 50 КБ (в зависимости от того, сколько данных отображается, без сомнения). Звучит как утечка памяти, но когда мы закрываем приложение, FastMM имеет значение ReportMemoryLeakOnShutDown: = True и не сообщает о каких-либо ненормальных утечках памяти.
Похоже, у нас есть пузырь памяти или сумка. То, что накапливает больше памяти при каждом запуске. Как TList, который продолжает добавлять новые элементы , но старые никогда не удаляются. Затем в процессе выключения все предметы уничтожаются. Строки, отображаемые в сетке, не увеличиваются, но за кулисами есть множество списков объектов, которые делают эту работу, поэтому она может быть где угодно.
Так что мой вопрос: знает ли кто-нибудь хороший способ выяснить, какие части приложения используют сколько памяти. , , , Я могу придумать множество утомительных способов сделать это (что я делаю - проверять каждый список, который могу найти), поэтому я надеюсь, что у кого-то есть хитрость или техника, о которой я не думал.
Заранее спасибо!
Обновление: Каждое обновление приводит к использованию дополнительных 10-50 КБ памяти. Пользователи сообщают, что в конечном итоге приложение перестает отвечать на запросы. Это конечно действует как утечка памяти, но FastMM (диспетчер памяти) не видит ничего утечки. Я попробую некоторые другие инструменты памяти. , ,