小知识:c#中的"delete"
众所周知,c#他没有delete,都是GC充当自动"delete"回收
\n
触发GC回收机制:
对象为null;
手动调用GC;
没有挂载的资源,在一定时间清理(经常出现在离开方法组后);
当资源超出系统设置(可以手动设置储存长度)范围;
也就是说c#的GC回收,可以是手动,也可以是自动
\n
GC无法回收情况:
资源一直加载(除了using(new obj()){}以外,这个不管你是否挂载,GC统统抬走);
对象未申明null(如果系统空间满了,且这个资源不再使用,任然会回收);
系统太饿;
调用了GC Keep资源;
c#中的GC很人性化,有Keep选项(即使触发了GC回收条件,GC也无法回收(null外))
\n
Thread GC:
线程GC回收
触发条件
一旦Thread终止,GC就会触发,回收未挂载资源
现在都0202年了,还要手动释放资源吗?