关于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#