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线程