Принудительная очистка памяти - C#
Формулировка задачи:
Знаю про встроенный сборщик мусора но вот у меня как-то он не работает, видимо из-за того что пишу на коленках.
Собственно в программе есть массивчик MX, который при выполнении занимает 600 метров. Отслеживаю это все через диспетчер задач. После того как программа завершается (а вернее завершается обработка события нажатия кнопки), в диспетчере задач она так и продолжает занимать 600 метров. Хотя массив MX уже не нужен. Вот как его принудительно уничтожить? не помогло.
MX=null;
Решение задачи: «Принудительная очистка памяти»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { string[, , ,] MX = new string[303, 100, 34, 305]; for (int i = 0; i < MX.GetLength(0); i++) for (int j = 0; j < MX.GetLength(1); j++) for (int k = 0; k < MX.GetLength(2); k++) for (int l = 0; l < MX.GetLength(3); l++) MX[i, j, k, l] = "A"; // Здесь диспетчер задач показывает 1235316 КБ Console.WriteLine("Заполнен"); Console.ReadLine(); MX = null; GC.Collect(); // Здесь 5564 КБ Console.WriteLine("Прошла сборка"); Console.ReadLine(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д