当前位置:编程学习 > C#/ASP.NET >>

关于GC、内存的问题 希望大侠们帮忙

求教一个问题,望大侠们指点:
举个例子:
     
 class Simple
 {
    public int property;
public Simple(int value)
{
property=value;
}
 }
 
         List<Simple> result=new List<Simple>();
 public void GenerateObjList()
 {
   for(int i=0;i<100000;i++)
 {
Simple tempObj=new Simple(i);
result.Add(tempObj);
 }
 }
 
 
 这是应用程序里的一段代码,这段代码生成了很多局部的Simple类型的对象,
 当这个方法执行的很频繁的时候,由于这些临时对象没有被GC及时清理,内存会
 增长很快,求大侠帮忙看一下,先谢谢了 --------------------编程问答-------------------- 你这已经加到  result中了,已经被引用了,不会被GC回收 --------------------编程问答-------------------- 因为现在我们有两部分数据 数据类型是一样的 一部分是服务器端传过来的原始数据,这个我们不想修改,只是保存在内存里  还有一部分是原始数据的深拷贝,这部分代码就是在深拷贝这边,深拷贝以后的数据我们界面层进行处理以后再使用 
由于界面层调用深拷贝的次数太多 所以就生成了很多没有释放的内存 ,现在想解决这个问题 --------------------编程问答-------------------- public void GenerateObjList()
 {
if(result.length>0)
return ;
for(int i=0;i<100000;i++)
 {
Simple tempObj=new Simple(i);
result.Add(tempObj);
 }
}
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,