2014-11-09 59 views
0

某些上下文:請闡明Observable類中addObserver和deleteObserver的行爲?

我在Activity類中創建觀察者並將其添加到Activity的onCreate方法中的Observable類。 Observable本質上是由Application類持有的。我將從onDestroy中的observable中刪除它。但是,看起來有可能不會調用onDestroy,或者並不是所有onDestroy中的代碼都被保證執行。由於在外部類中(在可觀察對象中)引用了該對象,所以我擔心該對象將會持續存在。

如果觀察者超出活動範圍,並重新創建活動,則會創建另一個具有相同類型的觀察者並將其添加到Observable。在這種情況下,相同類型的現有Observer是否會被刪除?

我可以通過試驗和錯誤找到答案,但是我沒有在其他地方找到這個問題的答案。

TL;博士:

如果我創建同一類型的兩個獨立的觀察員類,他們都加入到Java中的單一可觀察類,將java的替換第一個觀察者加入第二個是什麼時候?

參照此文件: http://developer.android.com/reference/java/util/Observable.html

這我不清楚,如果是這樣的話。

回答

1

現有觀察者不會被刪除。你可以在Observable的源代碼中看到這個。創建的對象不同,儘管具有相同的類型。它們都被添加到觀察者的矢量中。

+0

好點,應該檢查一下代碼。謝謝回覆! – jeff 2014-11-09 06:14:46

+0

完全沒有問題。 – 2014-11-09 06:16:14

相關問題