Я работаю в Delphi 5 (с установкой FastMM) в проекте Win32 и недавно пытался резко сократить использование памяти в этом приложении. До сих пор я сократил использование почти вдвое, но заметил что-то при работе над отдельной задачей. Когда я минимизировал приложение, использование памяти сократилось с 45 мегабайт до 1 мегабайта, что я приписывал ему подкачку на диск. Когда я восстановил его и перезапустил работу, память увеличилась до 15 мегабайт. По мере того, как я продолжал работать, использование памяти медленно увеличивалось, и сведение к минимуму и восстановление сбросили его до 15 мегабайт. Поэтому, по моему мнению, когда мой код сообщает системе о выпуске памяти, ее все еще держат в соответствии с Windows, и фактическая сборка мусора не срабатывает до тех пор, пока не будет много позже.
Можно ли подтвердить или опровергнуть такое поведение? Можно ли запрограммировать очистку памяти? Если я продолжаю использовать программу, не выполняя эту ручную флеш, через некоторое время я получаю ошибку из памяти и хотел бы ее устранить. Спасибо.
Изменить: я нашел статью о about.com, которая дает много этого, а также некоторые ссылки и данные для других областей памяти управление.