美文网首页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