Я написал программу в C# (WinForms), которая имеет много форм. Я показываю форму таким образом:Используемая память не уменьшается при закрытии форм
Form_Sell frm = new Form_Sell();
frm.Show();
Когда я показываю много форм, используемая память моей программы увеличивается, и когда я закрываю все новые формы не уменьшается! (Я проверяю Использованную память моей программы в диспетчере задач), почему это происходит? и как я могу это сделать?
Я использовал GC.Collect() в FormClosed Событие формы. но он не работает (никаких эффектов на используемую память)
Я тестирую его пустыми формами. никаких элементов управления и ничего. но когда я показываю, что память формы увеличивается, и когда я закрываю ее, память не уменьшается!
Это означает, что у вас есть что-то, где-то держаться за ссылки на эти формы. Существует несколько способов, которыми это может происходить, некоторые явные, некоторые более тонкие (например, закрытие ссылки на форму в лямбда при назначении обработчиков событий более живым объектам). Без дополнительной информации на самом деле нам нечего сказать. – Servy
@Servy Я тестирую его пустыми формами. никаких элементов управления и ничего. но когда я показываю, что память формы увеличивается, и когда я закрываю ее, память не уменьшается! – ArMaN
Потребуется некоторое время для того, чтобы GC мог разобраться в памяти в таких случаях. Не беспокойтесь об этом, если программа не потребляет огромное количество памяти до такой степени, что вы начинаете на самом деле заканчиваться или иметь другие проблемы. – Servy