eventBus 3.1具有普通Java支持

2021-06-19 23:23:54

使用它超过25%的顶级Android应用程序,eventBus比以往任何时候都更受欢迎。所以我们很高兴今天宣布赛事3.1。从此发布开始,eventBus与普通Java(非Android)项目合作。这有两个主要优点:首先,它为所有Java开发人员开辟了EventBus,并使其可用于服务器和桌面应用程序。其次,它允许Android开发人员在本地单元测试中使用eventBus。之前,您必须使用速度速度和设备的仪器测试。与此相反,普通的Java单元测试在直接在桌面机上运行时巧妙地快速。第二个改进是一个新的线程模式:main_ordered。它是默认主线程模式的变型,也可以确保主线程中的事件传送。差异是当事件发布在主线程中时:主要是将事件传递给同步方式立即传递给用户。 Main_Ordered将仅将事件纳入呼叫 帖子(...)稍后交付给订阅者。这使得事件处理更严格和更一致的顺序(因此是main_Ordered的名称)。例如,如果您在具有主线程模式的事件处理程序中发布另一个事件,则第二个事件处理程序将在第一个事件之前完成(因为它同步调用 - 将其与方法调用进行比较)。使用main_ordered,第一个事件处理程序将完成,然后将在稍后的时间点调用第二个事件处理程序(一旦主线程具有容量),则会调用。

我们正在考虑将Main_Ordered在Fexbus的未来版本中进行默认。因为Main和Main_Ordered行为略有不同,所以可能有一些情况可能会改变应用程序的行为。它在每种情况下都是一个贸易:当事件发布在主线程上时,主要是更快的,Main_Ordered提供更一致和可预测的事件交付。让我们知道你对它的看法。

还有一件事:我们很乐意在赛事中获得一些反馈,以及我们如何进一步改进它。我们的反馈表只需要一分钟。谢谢!