某些背景信息:
我在Activity类中创建一个观察者,并将其添加到Activity的onCreate方法中的Observable类。 Observable基本上由Application类持有。我将从onDestroy中的observable中删除它。但是,看起来有可能不会调用onDestroy,或者不能保证onDestroy中的所有代码都被执行。由于在外部类(在observable中)有对象的引用,我担心该对象会持久存在。
如果观察者超过活动,并且重新创建了活动,则将创建另一个具有相同类型的Observer并将其添加到Observable。在这种情况下,是否会删除相同类型的现有Observer?
我可以通过反复试验找到这个,但我还没有在其他地方找到这个问题的答案。
TL; DR:
如果我创建两个相同类型的独立Observer类,并将它们都添加到Java中的单个Observable类中,那么在添加第二个观察者时,java会替换第一个观察者吗?
参考此文档: http://developer.android.com/reference/java/util/Observable.html
我不清楚是否是这种情况。
答案 0 :(得分:1)
现有观察员不会被删除。您可以在Observable的源代码中看到这一点。尽管具有相同的类型,但创建的对象是不同的。它们都被添加到观察者的载体中。