Joa*_*nge 9 .net c# garbage-collection
可能重复:
何时可以调用GC.Collect?
据我所知,CLR为你做了所有这些垃圾收集,但是有理由手动调用GC.Collect()吗?
是否在关闭文件,处置图像资源或非托管资源时应该调用GC.Collect()以立即快速清理未使用的内存?
对于关闭文件,处理图像资源或非托管资源的情况,是否应该调用GC.Collect()以立即快速清理未使用的内存?
不,不是真的.这通常通过处理IDisposable.
GC.Dispose()直接调用的理由很少,这样做往往会造成很大的伤害,因为它会干扰.NET中GC的内部启发式.然而,当它有用时,很少发生.
例如,如果您的操作是一种使用大型对象图的罕见操作,并且您知道之后将"空闲",则可能需要GC.Collect立即调用以释放对象使用的内存.话虽这么说,这通常最好由系统来处理.
在大多数情况下,我发现最有用的方案GC.Collect()是调试.它可以帮助您保证您没有泄漏,因为它允许您强制完整的Gen2集合.
| 归档时间: |
|
| 查看次数: |
11095 次 |
| 最近记录: |