Visual Basic垃圾回收

时间:2011-10-19 17:14:16

标签: vb.net garbage-collection

如上所述here,在完成使用它们时,在VB.NET中将对象分配给Nothing是否仍然有用?或者垃圾收集改进到不再有用/必要的程度?

3 个答案:

答案 0 :(得分:1)

不,它在VB.NET中没用。 IIRC只有当变量指向动态创建的COM对象时才应该这样做,例如,如果您正在使用Office Interop。

答案 1 :(得分:1)

你是对的,除了几个角落之外不再需要它了:

  • 消除循环引用(对象A引用引用对象A的对象B)正常工作,请参阅注释。
  • 如果您正在使用VBScript。将这些对象设置为Nothing。

答案 2 :(得分:1)

正如其他人所说,在大多数情况下都没有必要。

如果您已完成使用对象并希望尽快声明其内存(例如,因为它是一个包含许多其他内容的非常大的实体),请使其实现Disposable模式并通过{{3指令。

在您的大对象未引用任何非托管资源的特定情况下,这不会修复内存泄漏,而是会缩小内存占用