您的位置:首页 > 其它

public static ArrayList 静态方法或者对象的回收技巧

2011-09-21 09:31 218 查看
定义了一个公有的泛型:

public static ArrayList al =null ;

在页面加载时进行实例对象

protected void Page_Load(object sender, EventArgs e)

{

GC.Collect(); //内存回收,如不加手动内存回收,内存起码多占20M

if (!IsPostBack)

{

if (al ==null )

{

al = new ArrayList();

}

if (HiddenField1.Value == "")

{

al.Clear();

}

HiddenField1.Value = "100";

...............

在数据变动的位置加入以下语句,不然会很点时间的

al.TrimToSize();

离开页面也做一次垃圾内存回收

private void Page_Unload(object sender, EventArgs e)

{

GC.Collect();

}

这样的好处就是,当进入页面时,静态泛型al进行了初始化,元素全部清空一片,这样就可以扔掉旧的元素,插入新的元素了

但是真的很占内存哦,比一般进程占多一倍以上的内存,所以不必用的地方不要使用

下面是我做,查询时把选中的ID保存到静态泛型里,翻页时就不会被清空了,方便返回到要结果值的页面上

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐