如何释放ArrayList所占的内存?
正在做一个图形学大作业,用户创建图形(比如球体)时,像3DMax那样用拖拽方式生成图形,因此在MouseMove事件里响应用户操作,改变图形参数,并更新显示!用ArrayList型的变量vertexList存储顶点,在MouseMove事件里需要从新计算图形的顶点,用vertexList.Clear清除所有顶点,再根据计算结果调用vertexList.Add加入顶点。(一个球体大概有500个顶点)造成的结果是绘制一个图形内存10M级别的增长。
请问调用ArrayList的Clear操作,它里面存储的对象会被GC回收吗?我强制调用GC.Collect也没用。
又试过将vertexList=null,调用GC.Collect()好像也没效果,ArrayList也没有dispose方法!
请问改如何释放掉ArrayList里的对象占用的内存?
顺便问一下执行如下的代码
object a=new object();
a=new object();
前面一句给a 分配的内存会被GC回收吗?