奥托 - 制作与发布

时间:2016-03-11 20:07:13

标签: android otto

有人可以给我一个Produce的用例吗?我不太了解它的用途,因为我一直专门使用Publish。

唯一的区别是,对于Produce,它会在类订阅总线时立即发送回调吗?那么你可以在类注册之前产生一些东西并让那个类得到结果吗?

1 个答案:

答案 0 :(得分:3)

与CommonsWare评论的相似:

根据Otto文档(http://square.github.io/otto/),@Produce注释旨在为新订阅者提供某些事件的当前状态。要了解对此功能的需求,请考虑以下顺序:

  1. ProducerA发布一些非常重要的数据
  2. 一段时间后,SubscriberA订阅了同样非常重要的数据
  3. 如果不使用@Produce功能,SubscriberA将无法收到真正重要的数据。但是,如果这是一个非常重要的数据生产者。然后定义相同的序列:

    1. ProducerA发布一些非常重要的数据
    2. 一段时间后,SubscriberA订阅了同样非常重要的数据
    3. SubscriberA从真正重要数据的制作者那里接收数据
    4. 因此,制作人可以向后期加入者提供信息"订阅者否则将错过在订阅者注册之前发布的信息。