使用像Otto或EventBus这样的事件库是一种处理活动,片段和后台线程之间关系的推荐方法

Che*_*eng 44 android event-bus android-asynctask otto greenrobot-eventbus

在大多数情况下,处理案件时

  • 用户thread(AsyncTask)执行后台处理
  • 将计算结果传回给ActivityFragment
  • Activity或者Fragment在用户线程完成后台处理之前可能会重新创建

到目前为止,从许多可靠的来源,我可以看到推荐的方法是使用 保留片段

来源

我不时地听说事件总线库可以处理活动,片段和后台线程之间的关系.(请参阅https://github.com/greenrobot/EventBus.它表示在活动,片段和后台线程表现良好)

我遇到了一些非常受欢迎的事件总线库

我想知道,当处理活动,碎片和后台线程之间的关系时,事件总线方法与保留碎片方法有何不同?

推荐哪种方式?

Epi*_*rce 17

事件总线和Otto不是Android开发人员指南的"推荐方式",主要是因为它们是简化任务的第三方库.我相信奥托是相当新的,所以年长的导游显然没有使用它.

我个人喜欢Otto,这是我使用的,到目前为止我没有任何问题.但当然,这是因为它适合我的用例.

我有一个关于我如何在这里使用Otto的例子.

来自未来的编辑:如果你需要一个活动巴士,greenrobot/EventBus比奥托更好.此外,在某些情况下,LiveData<T>完全足够而不是使用事件总线(而不是向任何人发送事件,只发送给订阅者).

  • 我认为`EventBus`实际上比'Otto`更好,因为我已经使用了它们. (4认同)