【发布时间】:2015-05-14 12:42:20
【问题描述】:
我有很多活动会引发后台任务;活动将自己传递为已实现侦听器回调,以便后台任务可以在活动上引发事件。反过来,活动可以在 UI 上显示一些内容,以指示后台活动通过或失败。
或者,我可以使用EventBus,让 Activity 将自己注册为侦听器/订阅者。我可以让后台任务在 EventBus 上引发一个事件,并且监听它的 Activity 可以处理它。
一个比另一个有什么优势?您什么时候会使用其中一种? (代码清洁度?性能?注意事项?)
跟进 - 我确实最终使用了 EventBus。代码绝对干净多了,而且到处都没有回调。 IDE(IntelliJ)认为onEvent方法没有被使用,所以我创建了一个注解
@Target({ElementType.METHOD})
public @interface EventBusHook {}
并将它放在我的 onEvent 方法上。然后 Alt+单击它并要求 IntelliJ 不要将其视为未使用。
@EventBusHook
public void onEvent(MyEventType myEventType){
【问题讨论】:
-
我会使用本地绑定服务来启动任务,并使用绑定到该服务并创建“绑定”来发送结果的活动
标签: android callback event-bus