5

我对组件激活时调用哪个函数激活函数或绑定函数的顺序感到困惑。在我看来,激活函数函数将首先被调用,因为 Bind 函数用于绑定服务。但正如我们所知,所有目标服务都首先进入组件上下文,然后组件才会被激活。

请清除我的疑问。

4

1 回答 1

8

在绑定所有静态引用之后,即在调用绑定方法之后,将调用 activate 方法。所以在激活过程中,您可以确定静态引用的值不会改变。

然而,对于动态参考,所有的赌注都是关闭的。事实上,在执行激活方法期间,动态引用的值可能会在不同线程中多次更改。

更新:您没有询问停用问题,但您可能会发现此信息同样有用。deactivate 方法将在任何静态引用未绑定之前被调用。例如:如果您绑定到具有静态引用的服务并且您绑定的服务消失了,那么 SCR 将首先调用您的 deactivate,然后调用您的 unbind 方法,最后它会释放组件实例以用于垃圾收集。

于 2013-04-03T08:53:23.143 回答