关于项目开发中内存释放及回收的问题
我在做网站项目的时候在页面中很多地方都
private ***
protected ***
因为有的页面用到好多变量 请问怎么一起释放这些变量或者回收这些变量资源呢
------解决方案--------------------会自动回收,不用操心这个。
------解决方案--------------------在对象销毁的时候自动会销毁这些变量,回收内存的。
而且这些资源回收,NET会自动执行,建议不要手动执行。
强迫NET执行资源回收:GC.Collect();
------解决方案--------------------要是没有很多 private protected 就真的奇怪了 ....
------解决方案--------------------.NET 中什么是【托管代码(managed code】 ?
简单的说,就是有 .net CLR 运行时,自动管理内存分配、回收,
不象 c/c++,manged code,如 C#/VB.net 你只有 new 的机会,没有 delete 的机会,
CLR 会在适当的时候,进行无用资源的回收,
注意这里的【适当的时候】,这是需要一个合理设计、高效算法,以及充分优化的策略。
虽然你可以使用诸如,GC.Collect() 的方式,进行对指定资源进行强制回收,但是不常用,
相反的是,假如你不熟悉 内部实现机制,比如对象代的(Generation)概念、弱引用之类,效果可能是非预期的!
通常,涉及非托管资源的使用,我们才希望显示的控制资源回收,但是 .net 为我们提供其他的更有效机制,比如 IDisposable ....
详细参考:
IDisposable 接口
定义一种释放分配的非托管资源的方法。
http://msdn2.microsoft.com/zh-cn/library/system.idisposable.aspx