RxJava2 初体验

说下 Flowable 和 Maybe 的使用

网上找了很多关于二者的文章,大同小异,借用别的作者的话说

Flowable支持背压的,也就是说上游的被观察者会响应下游观察者的数据请求,下游调用request(n)来告诉上游发送多少个数据。这样避免了大量数据堆积在调用链上,使内存一直处于较低水平。所以Flowable 必须在 回调函数  onSubscribe 中去与下游沟通,这样onNext,onError ,onComplete 方法才会被执行。

沟通方式很随意  subscription.request(1),onSubscribe回调按照我的理解,是做预处理,我们可以在该方法中取消订阅,做些变量初始化之类的事。

Flowable 用 Subscriber去处理时,不需要指定操作线程跟订阅者线程,经过测试,默认处理在不在UI线程,回调在UI线程。

Maybe 使用时相反,需要指定操作线程跟响应线程,上下游之间不需要做沟通,直接回调onSuccess,onError 方法。

你可能感兴趣的:(RxJava2 初体验)