首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于项目开发中内存释放及回收的有关问题

2012-01-06 
关于项目开发中内存释放及回收的问题我在做网站项目的时候在页面中很多地方都private***protected***因为

关于项目开发中内存释放及回收的问题
我在做网站项目的时候在页面中很多地方都  
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

热点排行