Почему использование памяти .NET-приложения уменьшается, когда оно минимизировано? - PullRequest
11 голосов
/ 06 октября 2008

Например, запустите Paint.NET. Затем посмотрите на использование памяти с помощью диспетчера задач: на моем компьютере он использует 36 МБ.

Затем сверните Paint.NET: теперь это занимает всего несколько МБ.

Это происходит с каждым приложением .NET. Что происходит, когда приложение .NET свернуто? GC происходит?

1 Ответ

27 голосов
/ 06 октября 2008

Диспетчер задач показывает количество памяти, принадлежащей приложению, которое в данный момент оказывается выгруженным в реальную память. Когда вы минимизируете приложение в Windows, ядро ​​автоматически обрезает рабочий набор процесса, чтобы он занимал меньше памяти. Это поведение не относится только к приложениям .NET.

Если вы посмотрите вместо этого на значение «Private Bytes» процесса, это даст вам лучшее представление об объеме памяти, используемой процессом. Это значение не изменится при обрезке рабочего набора процесса.

Microsoft предлагает больше информации в этой статье базы знаний: http://support.microsoft.com/kb/293215

...