一般问题:当更新源(类)包(并刷新框架)时,现有实例会发生什么?
例如,假设我有一个类的实例(A类,实例-a),然后我在其包中更改了A类的源(Bundle A),然后我更新了bundle-A并刷新框架。在更新之前创建的实例-a,以某种方式“神奇地”'有新的A类的更新功能?
同样,如果我有B类实例-b(来自B组),而B类扩展A类(来自Bundle A),那么我更改/更新/刷新包A,如上所述,是否已经创建了实例-b拥有新A类的功能?
似乎这两个问题的答案都是否定的。作为一般规则,似乎对于现存实例,它们必须是RE-INSTANTIATED(丢弃并创建新实例)以获得新功能。这是真的吗?
THX。
答案 0 :(得分:0)
没有魔力。如果您从一个包中保存一个类型的实例并且该包已更新,那么您保存的实例将保持不变。
这就是您应该使用服务来使用另一个包的实例的原因。捆绑注册服务,您获得服务。如果捆绑包已停止,则其服务将取消注册,您可以收到通知。使用声明式服务及其注释使这一切变得非常简单。