比方說,我有一個參考的樹,看起來就像是:在這種情況下會收集對象嗎?
root => WeakHashMap<View, Binder> => Binder => View
// by WeakHashMap I mean keys (Views) are referenced by WeakReferences
// View is only referenced by Binder
威爾View
(和Binder
)得到收集?或從Binder
到View
的參考也必須弱?
這就是它的外觀在代碼:
class SomeClass {
private static final Map<View, Binder> binders = new WeakIdentityHashMap<>();
// (...)
}
class Binder {
private final View target;
public Binder(View target) {
this.target = target
}
// (...)
}
如果您給出了一個實際的例子,而不是僅僅描述它,那麼理解這個問題會相當容易。 –
任何對象的強引用都會使其保持活動狀態。 –