我正在Windows应用程序上使用两种形式。例如Form1()
和Form2()
,并且正在Visual Studio上的 32位体系结构上工作。 Form1和Form2包含大约50mb的数据。
当我关闭form1()然后打开form2()时,我的期望是50mb来自form1的数据将自动从ram中删除。但是它不能那样工作。当我打开form2时,任务管理器向我显示大约100mb,而当我回来时,堆栈仍在增加,直到systemoutofmemory例外。我不明白为什么垃圾回收器或表单处理方法不能从堆栈中清除数据?
我尝试了表单处理方法和垃圾收集器来清除ram中的数据,但是对我来说都没用。
我完成工作后在这里一些代码块
我将打开form2
Form2 frm2=new Form2();
this.hide();
frm2.opendialog();
我希望有50mb的内存用于运行程序,但是结果是100mb的垃圾收集器或处理方法无效。