垃圾收集概念
- 论坛
- 垃圾收集概念
31 浏览
垃圾收集概念
Finalize() -
这个函数只会在垃圾回收过程中清理非托管资源 - 用户无法知道这个方法实际何时执行。也不能直接调用此函数来清理内存。\nDispose() -
通过实现IDisposable接口,用户可以清理非托管资源,用户可以确切知道资源何时被释放。\n我的理解是Finalize()不能被重写来清理非托管资源。这是一个系统进程,只有\'GC\'进程会用于清理非托管资源。\n如果用户需要自己清理资源,那么他/她应该实现IDisposable接口并明确调用Dispose()。没有其他可能性!在清理非托管资源方面,最佳实践是使用\'USING\'语句。\n问题1:\n我的理解正确吗?如果我有错误,请纠正我上述的陈述。\n问题2:\n另外,我想知道,我可以通过实现IDisposable接口并调用Dispose()来清理托管资源吗?