RxJava 学习06 Flowable 背压

RxJava 学习06 Flowable 背压_第1张图片

RxJava 学习06 Flowable 背压_第2张图片

当前元素处理完毕后再处理下一个元素,于是整个过程处理得很慢

所以需要把元素的下发和消费分配到不同的线程中去

RxJava 学习06 Flowable 背压_第3张图片

RxJava 学习06 Flowable 背压_第4张图片

RxJava 学习06 Flowable 背压_第5张图片

7.2 引入Flowable

RxJava 学习06 Flowable 背压_第6张图片生产和消费一批一批进行

RxJava 学习06 Flowable 背压_第7张图片

存储未消费的最多数量为128个

7.3 探索 Flowable.create

RxJava 学习06 Flowable 背压_第8张图片

判断FlowableEmitter#isCancelled

RxJava 学习06 Flowable 背压_第9张图片

RxJava 学习06 Flowable 背压_第10张图片

 

存指向下一个数组的索引

蓄水池如果满了,就直接resize,创建一个新的newBuffer,新数组对象存于老数组的最后一个位置

RxJava 学习06 Flowable 背压_第11张图片最多只能push 127个对象

RxJava 学习06 Flowable 背压_第12张图片

消费后才能继续push剩下的对象

RxJava 学习06 Flowable 背压_第13张图片

RxJava 学习06 Flowable 背压_第14张图片

push只到128个

RxJava 学习06 Flowable 背压_第15张图片

RxJava 学习06 Flowable 背压_第16张图片

其余的全部抛弃,直接到1000

RxJava 学习06 Flowable 背压_第17张图片

RxJava 学习06 Flowable 背压_第18张图片

RxJava 学习06 Flowable 背压_第19张图片

7.4 将一个Observable转化为一个Flowable

RxJava 学习06 Flowable 背压_第20张图片

RxJava 学习06 Flowable 背压_第21张图片

RxJava 学习06 Flowable 背压_第22张图片

RxJava 学习06 Flowable 背压_第23张图片

7.5 通过onBackPressureXXX操作实现背压策略

7.5.1 onBackPresssureBuffer

RxJava 学习06 Flowable 背压_第24张图片

RxJava 学习06 Flowable 背压_第25张图片

RxJava 学习06 Flowable 背压_第26张图片

RxJava 学习06 Flowable 背压_第27张图片

7.5.2 onBackpressureLastest与onBackpressureDrop操作

RxJava 学习06 Flowable 背压_第28张图片

RxJava 学习06 Flowable 背压_第29张图片

 

RxJava 学习06 Flowable 背压_第30张图片

RxJava 学习06 Flowable 背压_第31张图片

 

 

 

你可能感兴趣的:(RxJava)