美文网首页Android
RxJava 2.x与 RxJava 1.x区别

RxJava 2.x与 RxJava 1.x区别

作者: 小浩_w | 来源:发表于2018-12-29 17:17 被阅读0次
    • Nulls
      1.x 是允许我们发射事件的时候传入null值
      2.x 不支持传入null值 传入会直接NullPointerException

    • Flowable
      2.x 把背压单独抽出来使用一个类
      背压:异步场景中被观察者发送事件的速度远快于观察者处理的速度, 一种
      告诉上游的被观察者降低发送速度的策略;在差距太大的时候,我们的内存会猛增,直到OOM。而我们的 Flowable 一定意义上可以解决这样的问题,但其实并不能完全解决

    • Single/Completable/Maybe
      single 只能发送一个事件和 Observable接受可变参数完全不同。而 Completable 侧重于观察结果,而 Maybe 是上面两种的结合体。

    • 线程调度相关
      RxJava 2.x 中已经没有了 Schedulers.immediate() 这个线程环境,还有 Schedulers.test()。

    • Function相关
      1.x 中是有 Func1,Func2.....FuncN的,但 2.x 中将它们移除,而采用 Function 替换了 Func1,采用 BiFunction 替换了 Func 2..N。并且,它们都增加了 throws Exception

    • 其他操作符相关
      如 Func1...N 的变化,现在同样用 Consumer 和 BiConsumer 对 Action1 和 Action2 进行了替换。后面的 Action 都被替换了,只保留了 ActionN。


    https://www.jianshu.com/p/a93c79e9f689

    相关文章

      网友评论

        本文标题:RxJava 2.x与 RxJava 1.x区别

        本文链接:https://www.haomeiwen.com/subject/nyjplqtx.html