现在做过C/S项目,窗口可能要打开N天天。。,希望释放其中占有的内存,想先测试一下,看了knight94 写的BLOG,还是不怎么明白,现在做个测试,希望大家指教,
做一个FORM,2个BUTTON,一个做释放用,一个做创建用,创建下填写,for (int i=0;i<this.textBox.text;i++){
//一个带属性的类
classA a=new classA();
a.name=1;
a.sex="asdfasfasdf";
//为了在循环中看内存资源变化。
}
在第二个按钮下添加 GC.SuppressFinalize (this);
现在不可以手动的内存回收,如果谁有好的方法请告诉我。谢谢,很急,在线一直,解决马上给分,希望给出好的建议,http://blog.csdn.net/Knight94/archive/2006/08/05/1023352.aspx
这个应用不用发了,看过了。如果我想做一个演示,内存释放好使,怎么做,上面的例子就是为了演示。
做一个FORM,2个BUTTON,一个做释放用,一个做创建用,创建下填写,for (int i=0;i<this.textBox.text;i++){
//一个带属性的类
classA a=new classA();
a.name=1;
a.sex="asdfasfasdf";
//为了在循环中看内存资源变化。
}
在第二个按钮下添加 GC.SuppressFinalize (this);
现在不可以手动的内存回收,如果谁有好的方法请告诉我。谢谢,很急,在线一直,解决马上给分,希望给出好的建议,http://blog.csdn.net/Knight94/archive/2006/08/05/1023352.aspx
这个应用不用发了,看过了。如果我想做一个演示,内存释放好使,怎么做,上面的例子就是为了演示。
解决方案 »
- 求webBrowser加载的FLASH用JavaScript模拟 鼠标点击的的例子。100分
- 问下大家datagridview 如何设置列标题使标题文字只占一行,如果列宽小,只看最左边的
- Gridview导出到excel ,如何去除模版列的链接
- .net 如何获得Arraylist数组中某个值对应的下标? C#代码
- 把流文件赋值给数组问题?
- 程序员一天的郁闷之十(关ACCECC的表操作的)
- 怎么修改Active Directory的extensionAttribute属性
- C#中如何抛出一个信息?
- 求一套比较好的在线订购系统(ASP)
- C# 如何屏蔽键盘输入,
- 在winform编程中,如何在界面上一个区域实现文字上下滚动的效果
- 请教一个很实际的问题,转移焦点问题
尝试直接将不用的资源设置为null
这是因为你自己已经调用了Dispose();
因为本身GC都会自动的调用Dispose();执行GB.SuppressFinalize(this)是告诉GC不要再次调用了,但是你要知道GC是怎样工作的,它采用非常复杂的算法,会在后台判断什么时候该回收内存,所以GC的工作你并不需要去管,即使你调用GC.Collect()强制执行,GC也有可能不会马上执行的,如果执行你的程序会停滞。所以.NET的程序对于内存回收这一块是没有C++强的,不过也少了一些C++的内存泄露。
如果要保持内存基本不变,定时启用:
int gen = GC.GetGeneration(this);//对象当前所在代
GC.Collect(gen);
http://blog.csdn.net/knight94/archive/2006/08/05/1023352.aspx