RxJava线程切换与自定义操作符3

RxJava和RxAndroid,在Android中使用RxJava必须得加上RxAndroid,RxAndroid相当于是一个扩展

 

代码爆黄需要我们写一个disposable,在页面销毁的时候同时释放资源,防止内存泄漏

 

 

create 和 just操作符

just相当于是简化版的create,已经给我们封装好了onNext和onComplete方法,而使用create操作符便于我们自定义化

 

 

SubscribeOn

按照上一节的流程,从订阅开始,往上走,直到subscribeOn方法

里面Schedulers.io()创建了一个scheduler对象,

 

由观察者调用的,然后走到下图方法,由IoSccheduler调用,scheduleDirect

 

最后创建了一个异步任务,放入线程池,将当前线程转变为异步线程

 

创建了一个runable对象,在run方法里面执行了subscribe方法,即进行包裹的封装

 

 

 

 

 

 

 

观察者的onSubscribe方法执行在调用者线程,不受subscribeOn,observeOn的影响

 

异步事件流,卡片式编程的线程分配

 

 

按照上节课的执行流程,从订阅开始,每一次通过subscribe方法往上游走进行装包裹直到起点被观察者,然后被观察会往下游进行onNext拆包裹,拆到最后调用观察者的onNext结束事件

结合本节课的subscribeOn和observeOn方法,

subscribeOn使执行流程上的往上走的所有任务(包括装包裹和拆包裹)均运行在它的线程中

observeOn使执行流程上的往下走的所有任务(拆包裹)均运行在它的线程中

 

执行subscribeOn,一层一层的封装包裹,最后会执行在 最上面的1线程

执行observeOn,进行拆包裹,最后会执行在C线程

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值