gpt4 book ai didi

java - 请澄清Observable类中addObserver和deleteObserver的行为?

转载 作者:行者123 更新时间:2023-12-01 12:18:52 25 4
gpt4 key购买 nike

一些背景:

我在 Activity 类中创建一个观察者,并将其添加到 Activity 的 onCreate 方法中的 Observable 类中。 Observable 本质上是由 Application 类持有的。我会在 onDestroy 中将其从 observable 中删除。然而,看起来有可能 onDestroy 不会被调用,或者不是 onDestroy 中的所有代码都保证被执行。由于外部类(在可观察对象中)中有对该对象的引用,因此我担心该对象会持续存在。

如果观察者的生命周期超过了 Activity,并且重新创建了 Activity,则将创建另一个具有相同类型的观察者并将其添加到 Observable 中。那么这样的话,现有的同类型的Observer会被删除吗?

我可以通过反复试验找到这个问题,但我在其他地方还没有真正找到这个问题的答案。

tl;博士:

如果我创建两个相同类型的独立观察者类,并将它们都添加到 Java 中的单个 Observable 类中,那么当添加第二个观察者时,java 会替换第一个观察者吗?

引用此文档: http://developer.android.com/reference/java/util/Observable.html

我不清楚是否是这样。

最佳答案

现有观察者不会被删除。你可以在 Observable 的源代码中看到这一点。尽管具有相同的类型,但创建的对象是不同的。它们都被添加到观察者 vector 中。

关于java - 请澄清Observable类中addObserver和deleteObserver的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26825480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com