简答
System.GC.Collect();
Run Code Online (Sandbox Code Playgroud)
假设强制垃圾收集运行,但我听说它更像是一个礼貌的询问函数,可能实际上没有它运行.
答案很长
我相信C#使用垃圾收集,所以最好你可以要求它清理,但它确实是在它自己的时间.如果没有对象的引用,则会将对象视为已销毁.
例如:
Object myobject = new Object();
Object sameobject = myobject;
myobject = null;
//Garbage collection will not clean it up because sameobject is still pointing to the memory location
sameobject = null;
//Garbage collection can now clean it up
Run Code Online (Sandbox Code Playgroud)
这是关于.NET使用的垃圾收集的一篇很棒的文章
您不能,也不应尝试。
如果不再有对对象的引用,则可以进行垃圾回收,如果有机会或需要内存,则将其删除。
垃圾收集器负责删除对象,您应该让它完成其工作而不会尝试进行干扰。试图降低内存使用量本身没有任何价值,计算机由于拥有大量未使用的内存而无法运行得更快。试图使垃圾回收器更早地释放内存只会使您的应用程序变慢。
您可以要求垃圾收集器运行一个收集,但是不能保证它在那个时候实际上会执行一个收集,即使它执行一个收集,也不能保证将收集任何给定的对象。您无法控制何时收集特定对象。
| 归档时间: |
|
| 查看次数: |
5062 次 |
| 最近记录: |