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保存到静态泛型里,翻页时就不会被清空了,方便返回到要结果值的页面上
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保存到静态泛型里,翻页时就不会被清空了,方便返回到要结果值的页面上
相关文章推荐
- php面向对象中static静态属性和静态方法的调用
- php面向对象中static静态属性和静态方法的调用
- static静态属性和静态方法的原理与调用技巧
- Java面向对象-static静态方法与普通方法
- Delphi对象的方法能定义- 静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)
- static静态属性和静态方法的原理与调用技巧
- java 抽象方法 能用 静态 static 修饰,或者 native 修饰 么
- php面向对象中static静态属性与方法的内存位置分析
- php面向对象中static静态属性和静态方法的调用
- php面向对象中static静态属性和静态方法的调用
- 【很变态】PHP类实例化对象竟然可以访问类的“静态(static)方法”!!!
- php面向对象中static静态属性和静态方法的调用
- 关于this和super关键字为什么不能再static方法中或者静态代码块中
- php面向对象中static静态属性与方法的内存位置分析
- eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?
- 【慕课笔记】U1 类和对象 第7节 JAVA中的static使用之静态方法
- 类实例化对象可以访问静态(static)方法,但是不能访问静态属性。
- 关于对象回收的方法 public void finalize()
- php面向对象中static静态属性和静态方法的调用
- php面向对象中static静态属性和静态方法的调用