2
假設與類A以下情形,B和事件總線的實例(它可以是Guava event bus,由谷歌或Otto event bus,通過Squ.re)番石榴/奧托EventBus與空引用
class A{
@Subscribe
public void onSomething(B event){
//do something
}
}
A a = new A();
eventBus.subscribe(a);
eventBus.post(new B());
// onSomething is called, everything ok
a = null;
eventBus.post(new B());
// onSomething is called again
現在,如果我運行(只測試與奧托)onSomething
被稱爲2次。
?事件總線是否會引用'a
',直到取消註冊爲止?
而且更重要的是
¿如果由於某種原因,我無法確定在「a
」將是空的那一刻,那麼事件總線將舉行一個無用的參考對象永遠(內存泄漏)?