Как я могу распоряжаться формой? - PullRequest
0 голосов
/ 30 апреля 2019

Я использую две формы в приложении Windows. Например, Form1() и Form2(), и я работаю над 32-битной архитектурой в Visual Studio . Form1 и form2 включает в себя около 50 МБ данных.

Когда я закрывал form1 (), а затем открывал form2 (), я ожидал, что данные из form1 будут 50 Мб автоматически удаляться из оперативной памяти. Но это так не работает. Когда я открывал диспетчер задач form2, мне показывалось примерно 100 МБ, а когда я возвращался, стек все еще увеличивался до исключения systemoutofmemory. Я не понимаю, почему сборщик мусора или метод удаления формы не очищают данные из стека?

Я пытался использовать метод dispose form и сборщик мусора, чтобы очистить данные от оперативной памяти. Тем не менее оба они бесполезны для меня.

некоторый блок кода после того, как я закончил свою работу

Я открою форму2

Form2 frm2=new Form2();

this.hide();

frm2.opendialog();

Я ожидал 50 МБ памяти для работающей программы, однако в результате получился 100 МБ сборщик мусора, или метод удаления не сработал.

...