当RoboGuice触发Event时,我的事件回调将在哪里执行,在哪个线程? 例如,我有一个活动(@Observes OnUpdateUiEvent e)。 我还有一个后台线程,它会触发新的OnUpdateUiEvent(“data”)。 那么,我的do()方法将在我理解的bg线程中执行? 如果我使用AndroidAnnotations中的@Background注释do(),会是什么? 预处理器是否应该在runInUiThread()中调用do()?

如果一切正常,我认为这种模式将提供线程之间最简单的通信方式。

===============>>#1 票数:6 已采纳

至于我可以看到在这里那里 ,你可以指定线程方式应与RoboGuice事件混合,通过使用@Observes(EventThread.CURRENT),@Observes(EventThread.UI)或@Observes(EventThread.BACKGROUND)。

默认值为“CURRENT”,这意味着如果未指定任何内容,则事件侦听方法将在与接收事件的方法相同的线程中执行。

所以是的,如果你从后台线程中激活你的事件,do()将在后台线程中执行。

如果在do()方法上添加@Background,那么它将始终在一个单独的线程中执行,该线程与您触发事件的线程不同。

如果您不确定,请设置断点并观察线程名称:-)。

这回答了你的问题吗?

  ask by naixx translate from so

未解决问题?本站智能推荐:

3回复

roboGuice和黄油刀依赖注入之间的区别

我听说有两个主要的dependency injection libraries中的Android One采用的是roboguice ,另一种是ButterKnife是它们之间的主要区别roboguice is run time and buttter knife is compile time ,所
1回复

RoboGuice @注入

在我的Android应用程序项目中,我正在使用RoboGuice 。 在我的项目中,我有一个单例 A类: 然后,我有另一个类B,它需要A的实例,因此,以RoboGuice的方式,我通常在注入 B的类B中声明A的实例: 有时,对于类B中声明的A实例,我得到了NullPoint
2回复

Roboguice NoClassDefFoundError

我今天刚开始使用Roboguice,遵循Wiki https://github.com/roboguice/roboguice/wiki/Your-First-View-Injection ,当我创建一个新的应用程序但尝试集成Roboguice时,示例运行良好在我现有的应用程序上,在运行时给出了
1回复

RoboGuice的RoboActionBarActivity

我使用Gradle将org.roboguice:roboguice:3.0b-experimental依赖项添加到我的项目中。 我在问题跟踪器上找到了一个帖子 ,说最新的beta中应该有一个RoboActionBarActivity类(以替换用于抽屉式导航的ActionBarActivit
1回复

如何在Android中使用Roboguice将Google番石榴事件总线作为全局单例注入?

当将Roboguice注入活动和广播接收器时,如何将Roboguice设置为使用相同的事件总线实例,如下所示: 就是说:据我所知,事件总线必须是全局进程单例,以便在我的活动中订阅广播接收器中发布的事件。 但是,目前,我似乎每次注射都会获得单独的事件总线。
1回复

Roboguice / Guice ComputationException首次在后台线程中初始化注入器时

在UI线程中创建注入器时,不会发生该异常。 我正在使用RoboSplashActivity。 这是飞溅活动类: 当注释行时,出现此错误: 有人有什么建议吗?
1回复

引导带RoboGuice

我正在应用程序中尝试RoboGuice-Sherlock。 我编写了一个使用提供程序的自定义绑定。 根据文档,我注册了该模块,但是现在遇到无法解决的类型错误。 } 我在做什么错,我该如何解决这个问题?
2回复

AndroidAnnotations和Dagger 2

我正在阅读有关依赖注入的内容,并发现了2个引起我注意的库,AndroidAnnotations和Dagger 2.我看到AA有许多功能,包括DI,但大多数开发人员都使用Dagger 2进行DI。 我想知道DI与AA和DI与Dagger 2之间的差异是什么? 如果我使用AA,这意味着我不需
4回复

AndroidAnnotations和EventBus

我在库中有一个带注释的Activity,它是来自同一个库的EventBus事件的订阅者。 它看起来像这样,大大简化了: 它应该按照这个工作: http://timnew.me/blog/2014/09/14/otto-and-android-annotations-compati
2回复

AndroidAnnotations和Dagger

我正在尝试使用Dagger注入一个Android Annotated Activity。 java.lang.IllegalArgumentException: No inject registered for members/com.app.server.AddServerActivity