前言
对几大流的区别不是很了解,不知道到底使用哪个流是正确的。参考Understanding Types Of Observables In RxJava的学习笔记。
一、Observable
可以发射超过一个数据。
使用场景举例:下载文件时,实时更新当前下载状态。
二、Flowable
发射大量数据,Observer无法及时处理时候,出现背压问题,Flowable因此出现。由于其做了一些操作,所以效率会低一些。
三、Single
只发射一个数据,像请求接口后返回一个json数据。
四、Maybe
发射一个或者0个数据。
五、Completable
不发射任何数据。
Completable.complete()
.subscribeOn(Schedulers.io())
.subscribe {
//利用completable不发射数据切换线程
//todo 可以做一些不需要对返回值进行响应且必须在非主线程进行的工作
}
后记
一定要收藏好https://rxmarbles.com/ 这个网址,记不得的时候去看看就好啦,图片很详细的。