android room 返回rxjava2 Flowable类
2019-08-15 本文已影响0人
szxyw
android.arch.persistence.room:runtime:1.1.1 版本
room 用gradle 插件生成的 impl 类,根据注解 生成具体的 实现方法
return RxRoom.createFlowable
返回的 Flowable 已经调用了 observerOn操作符 ,所以再调用 subscribeOn 操作符没有用了
不能返回 observable 类型的数据,gradle 插件不支持
androidx.room:room-runtime:2.2.0-alpha02版本
RxRoom.createFlowable 方法有改动
改动点 1.操作符 2.scheduler
1.使用了 subscribeOn , unsubscribeOn ,observeOn 三个操作符
unsubscribeOn 操作符 从源码来看 ,具体实现类 是FlowableUnsubscribeOn
对应的 subscriber 如图为 UnsubscribeSubscriber
UnsubscribeSubscriber 的cancel 方法,让 上游的操作符 cancel方法在指定 线程执行
可以配合 doOnCancel 操作符使用 ,cancel 的时候在指定线程工作
2.scheduler 有改动 分为了 事务线程 和 查询线程
具体实现 需要看源码,大概是 事务线程加了排队机制 ,查询线程还是在子线程