岁数大了,想哪写哪吧,上节大致讲了rxjava2的一点点基础,这回继续上回的话题妹子洗澡,来看看妹子是什么状态。
这里讲Observable这个妹子,首先她是实现了ObservableSource,请跟我一起咬着牙念,这是个什么玩意,请看下图
看见木,这个玩意和上节讲的那个Publisher一个鸟样,只是Publisher订阅了Subscriber,ObservableSource订阅了Observer,Subscriber和Observer什么关系呢?说白了Subscriber是实现了Observer,类似Subscriber是Observer的爹,是类似,不是真的是,充其量是干爹,毕竟是implement的,不是extends,以后就这么讲了实现是干爹,继承是亲爹。
来讲讲Flowable这个玩意,依旧和我咬着牙念Flowable,这是个什么玩意呢,看图说话
看见没,实现了Publisher,又用到上节的Publisher,得,截个图吧
Flowable订阅了subscriber,说白了Flowable是实现了Publisher的订阅功能,自己还扩展了些功能,它和Observable一样,都能订阅观察者。那么有了Observable,要这个Flowable有个卵用捏?解决背压问题。
背压问题,什么是背压问题,网上一大堆讲解,还是上篇的说到的妹子问题,妹子洗澡(被观察者),喊(订阅),你(观察者),背压问题是什么问题,妹子喊一次,你观(偷)察(窥)一次,然后妹子中气足,一口气喊了5000次,可是你,你受不了了,观察不行了,那怎么办呢,背压处理
onBackpressurebuffer:妹子有个缓存(录音机),有录音机有128次数限制,超过次数将会终止执行并抛出异常。
onBackpressureDrop:妹子喊了1000次,一开始她会输出0,1,2,3....127但之后会忽然跳跃到966,967,968 ...。中间的部分数据由于缓存不了,被抛弃掉了。
先写到这里,明天继续。