在我的应用程序组合根中,构建了一个大型实例树,其中子节点可以通过实例委托(delegate)和观察者隐式引用父节点。这是托管对象关系的简化 View :
A <---+
B | |
C - + |
D |
E | <-+
F ----+ |
G |
I -------+
我的预感是,如果我在组合根中引用了对象 A 和 E,然后将它们设置为 null,则完整的对象树将被垃圾收集。
正确吗?
最佳答案
这是正确的,因为您没有任何其他对树中节点的可访问引用。这是因为,如果没有对其中任何一个的外部(即可到达)引用,则相互引用的不可到达对象仍然符合垃圾回收的条件。
关于c# - 这个应用程序树会被垃圾收集吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8253697/