2016 - 2024

感恩一路有你

为什么不推荐rxjava RxJava和EventBus的区别?

浏览量:1464 时间:2021-04-12 01:27:08 作者:admin

RxJava和EventBus的区别?

Rx:功能响应编程。响应代码的基本组件是可观察的和订户(事实上,观察器是最小的构建块,但订户在实践中使用最多,因为订户对应于可观察的)。Observable发送消息,而subscriber用于消费消息。主要区别在于,在Rx中建立订阅关系时,可以使用操作符进行任何处理(如转换数据、更改数据等),并且可以处理异步操作。Eventbus相当于广播。当它被发送时,它总是可以接收它。发送后不能更改任何数据。如果需要更改,则必须重新发布。

RxJava是如何实现订阅关系的?

GitHub上rxjava的官方介绍是:一个库,用于使用Java虚拟机的可观察序列编写异步和基于事件的程序。在JVM上使用可观察序列来形成一个异步的基于事件的库。很难读懂。它本质上是异步观察者模式。主要有可观察、观察、事件和订阅等概念。Observer通过subscribe observable知道observable中的事件并做出相应的响应

rxjava比eventbus应用更广泛。Eventbus仅用作消息传递工具,但它在rxjava中几乎可以做任何事情。

如果是Android开发,可以使用rxandroid,它是rxjava的扩展。再加上square公司的复古合身,你可以轻松上网。

众所周知,asyctask通常用于Android中的异步操作。然而,asyctask有很多缺点,比如不能方便地终止任务的执行。

Rxandroid完全可以代替asycTask来完成各种异步操作,还有bindactivity和bindfragment方法。异步操作完全不需要考虑活动和片段的生命周期,还有更强大的链调用,可以使程序非常简单。

eventbus的一个缺点是不能混淆所有使用eventbus的类,否则evnetbus找不到OneEvent方法。

以上,建议使用rxandroid。

为什么不推荐rxjava 动物是靠什么传递消息 信息的传递方式有哪些

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。