У меня много действий, которые поднимают фоновые задачи; Деятельность будет проходить через выполнение обратного вызова слушателя, так что фоновые задачи могут вызвать событие в Деяниях. Действия, в свою очередь, могут показать что-то в пользовательском интерфейсе, чтобы указать, что фоновый актив прошел или не прошел.
В качестве альтернативы я мог бы использовать EventBus, в котором я получаю активность для регистрации себя в качестве слушателя/подписчика. У меня могут быть фоновые задачи, которые вызывают событие на EventBus, и прослушивание активности может обрабатывать его.
Каковы преимущества одного над другим? Когда вы будете использовать один над другим? (Чистота кода? Производительность? Предостережения?)
Последующие действия - я в конечном итоге использовал EventBus. Код, безусловно, намного чище, и повсюду повсюду висят звонки. IDE (IntelliJ) считает, что методы onEvent
не используются, поэтому я создал аннотацию
@Target({ElementType.METHOD})
public @interface EventBusHook {}
и поместил его поверх моих методов onEvent
. Затем Alt + нажал на него и попросил IntelliJ не рассматривать его как неиспользованный.
@EventBusHook
public void onEvent(MyEventType myEventType){