对垃圾回收的认识
时间:2011-05-19 来源:winchou
.net内置了垃圾回收的机制,balabala一大堆 我就觉得微软很贴心,我们也没必要手动回收了...
弱引用很好用,可以用一下
//Person p1 = new Person();
//Person p2 = p1;
//p1 = null;
Person p1 = new Person();
//虽然wr弱引用,还是指向了Person对象,但是依然可以进行垃圾回收。
WeakReference wr = new WeakReference(p1);//弱引用。
p1 = null;
// GC.Collect();
//判断p1是否已被回收,如果为false表示已经回收。
Console.WriteLine(wr.IsAlive);
Console.ReadKey();
////......
////弱引用的作用:
////当下次使用该对象时,如果对象还没有被垃圾回收,则可以直接通过 //这块是亮点
////弱引用来使用,如果已经回收了,则重新new一个。
////这样做就有可能减少创建新对象的次数。
//if (wr.Target!=null)
//{
// Person p = (Person)wr.Target;
//}
//else
//{
// new Person();
//}