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

定义了一个公有的泛型:

  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保存到静态泛型里,翻页时就不会被清空了,方便返回到要结果值的页面上

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那小x的传说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值