定义了一个公有的泛型:
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保存到静态泛型里,翻页时就不会被清空了,方便返回到要结果值的页面上
本文介绍了一种在页面加载时初始化静态泛型,并在数据变动位置及页面卸载时进行内存回收的方法,以避免内存占用过大。通过实例展示了如何实现元素清空与插入,以及在数据查询和翻页场景中保持数据连续性。
4804

被折叠的 条评论
为什么被折叠?



