Я надеюсь, что кто-то может пролить некоторый свет на то, как .NET обрабатывает сборку мусора в следующем случае.
У меня есть программа, в которой мне нужно выполнить очень специфическую функцию "Поиск в файлах".как вы могли бы видеть в Visual Studio.Мне нужно искать потенциально тысячи файлов, и я собираю результаты в объекте List (Pair ()), где Pair - это простой класс, который я создал для хранения пары элементов (очевидно).
Когда яиспользуя то, что мне нужно, я вызываю Clear () в списке, чтобы избавиться от старой информации.Похоже, это не помогает освободить память, потому что в диспетчере задач видно, что объем используемой памяти не уменьшается.
При действительно большом поиске я потенциально имею дело с 5 000 000 строк информации (примерно 500 МБиспользование памяти на моей машине), которые должны быть обработаны.Когда мой поиск закончен, уровень потребляемой памяти остается прежним.Я сделал в своем классе Pair реализацию IDisposable, и это не помогло.
Есть идеи, чего мне не хватает?Спасибо!