Память не освобождается для присвоения массива в моно (C #) - PullRequest
0 голосов
/ 12 сентября 2018

В моей программе на C # у меня есть функция, которая заключается в том, что я создаю массив байтов длиной 1000000, и когда функция выполняется, память показывает увеличение памяти на 1 МБ. Проблема здесь, после возврата из функции, 1 МБ памяти, выделенной в функции, не освобождается, ПОЧЕМУ ????

1 Ответ

0 голосов
/ 12 сентября 2018

Сборщик мусора не освобождает память сразу, но

Сборка мусора происходит, когда выполняется одно из следующих условий:

В системе недостаточно физической памяти,Это определяется либо уведомлением о недостаточном объеме памяти из ОС, либо указанием хоста о недостаточном объеме памяти.

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

Вызывается метод GC.Collect.Почти во всех случаях вам не нужно вызывать этот метод, потому что сборщик мусора работает непрерывно.Этот метод в основном используется для уникальных ситуаций и тестирования.

Вы можете найти больше здесь .

...