Rxjava1和RxJava2 并不能共存,并且RxJava1在本篇文章写的时候,官方已经说明,即将不进行维护。
一、首先,导入包是不同的,RxJava2 导入包一般多了一个reactivex,如下
import io.reactivex.Observable;
所以,在迁移的时候,build.gradle中的依赖肯定需要修改,在文件中的导入也需要修改
二、有些方法,在RxJava2中有所改变
1、新增Flowable
RxJava1 中 Observable 不能很好地支持 backpressure ,会抛出MissingBackpressureException。所以在 RxJava2 中 Observable 不再支持 backpressure ,而使用新增的 Flowable 来支持 backpressure 。关于backpressure 的理解,可以看这篇文章。Flowable的用法跟原先的Observable是一样的
2、ActionN 和 FuncN 改名
其中,Action0 改名成Action,Action1改名成Consumer,而Action2改名成了BiConsumer,而Action3 - Action9都不再使用了,ActionN变成了Consumer<Object[]>。
同样,Func改名成Function,Func2改名成BiFunction,Func3 - Func9 改名成 Function3 - Function9,FuncN 由 Function<Object[], R> 取代。当然,对应的抽象方法也有所修改,call需要修改为apply
<