为什么不推荐rxjava rxandroid和rxjava的区别?
rxandroid和rxjava的区别?
Rxjava的应用比eventbus更广泛。Eventbus只是一个消息传递工具,但它几乎可以在rxjava中做任何事情。
如果是Android开发,可以使用rxandroid,它是rxjava的扩展。再加上square公司的复古合身,你可以轻松上网。
众所周知,asyctask通常用于Android中的异步操作。然而,asyctask有很多缺点,比如不能方便地终止任务的执行。
Rxandroid完全可以代替asycTask来完成各种异步操作,还有bindactivity和bindfragment方法。异步操作完全不需要考虑活动和片段的生命周期,还有更强大的链调用,可以使程序非常简单。
eventbus的一个缺点是不能混淆所有使用eventbus的类,否则evnetbus找不到OneEvent方法。
以上,建议使用rxandroid。
RxJava是如何实现订阅关系的?
GitHub上rxjava的官方介绍是:一个库,用于使用Java虚拟机的可观察序列编写异步和基于事件的程序。在JVM上使用可观察序列来形成一个异步的基于事件的库。很难读懂。它本质上是异步观察者模式。主要有可观察、观察、事件和订阅等概念。Observer通过订阅observable知道observable中的事件,然后做出相应的响应
Rx:函数响应编程。响应代码的基本组成部分是可观察的和订户(事实上,观察器是最小的构建块,但订户在实践中使用最多,因为订户是可观察的相对应的)。Observable发送消息,而subscriber用于消费消息。主要区别在于,在Rx中建立订阅关系时,可以使用操作符进行任何处理(如转换数据、更改数据等),并且可以处理异步操作。Eventbus相当于广播。当它被发送时,它总是可以接收它。发送后不能更改任何数据。如果需要更改,则必须重新发布。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。