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

public static ArrayList 静态方法或者对象的回收技巧_第1张图片

你可能感兴趣的:(object,null)