Это самая странная вещь, которую я когда-либо пробовал на ОС. Я запускаю несколько программ, которые используют до 1 Гб оперативной памяти. Но если я минимизирую программу, ее использование уменьшится на 100 мб! Это означает, что я потерял 900 мегабайт, просто пропал, куда он пропал? Как сохранить память там, где она есть?
На моем собственном ноутбуке программа работает нормально, без потери оперативной памяти.
Кроме того, программа не вылетает сразу после этого, а через несколько дней (она не находит то, что ей нужно в памяти), как-то странно ...
Это буквально утечка памяти. (Он просто пропускает баран)
Надеюсь, кто-нибудь сможет мне в этом помочь!
На самом деле это известная функция Windows XP / 2003. Я не уверен, сохранила ли Windows 7/2008 / R2 такое поведение.
Рабочий набор приложения обрезается, когда его окно верхнего уровня свернуто
http://support.microsoft.com/kb/293215
Ваша программа не «теряет» ОЗУ. Операционные системы используют процесс, называемый "пейджинг" передать содержимое вашей оперативной памяти, которое сейчас не требуется, на жесткий диск -> page file
.
Когда данные снова потребуются, они размещаются на жестком диске и снова загружаются в оперативную память.
Теперь, когда вы сворачиваете программу, большая часть ресурсов сейчас не понадобится, так как пока она свернута, отображать нечего. Поэтому Windows записывает содержимое в файл подкачки, чтобы освободить память, которая может использоваться другими программами.