我在代码中的很多地方都看到了这个警告,因为我一直在使用特定的范例。在objectA中,我创建了objectB,而objectB做了很多必要的工作,但在其他任何地方都没有引用。
我看到的这个问题的唯一答案是:
我在很多地方正在做的事的例子。
class A {
B b;
public A() {
b = new B();
}
}
class B {
public B() {
Updater.RegisterForSuperImportantUpdates(this);
}
public void Update() {
// super important stuff happening here
....
}
}
这看起来像是有效的设计,还是这里散发出臭味?取消警告将很烦人,因为这种模式将被频繁使用。
如果以后不使用它,为什么要保留对b(B)的引用?您是否可以不参考而只是更新它?
由于似乎由此处(Updater
)中未提及的第三类引用,因此不应对其进行GCeed。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句