В сборщике мусора .NET должен быть секрет, который я не понимаю на данный момент.В нашем приложении C # WinForms есть диалог, который загружает очень много объектов с помощью инструмента OR mapper.Этот процесс занимает много памяти, и мы думаем, что большая часть этой памяти может быть занята строками.Когда мы открываем это диалоговое окно, диспетчер задач показывает 900 МБ использования памяти, и, выполнив запрос снова, мы получаем исключение нехватки памяти.Whow.
Теперь мы получили подсказку о том, что какой-то тип сборки мусора выполняется, когда мы минимизируем приложение.Делая это и максимизируя его снова, приложение потребляет только 10 МБ.Круто.
Но теперь, когда мы снова делаем запрос, потребление памяти внезапно возвращается к 900 МБ, и мы снова получаем исключение нехватки памяти.
Что здесь происходит и как мы можем уменьшить потребление памяти?В таких случаях, как можно исследовать и уменьшить потребление памяти?