RxJava分析
来源:互联网 发布:sql server2008和2016 编辑:程序博客网 时间:2024/05/22 11:31
RxJava功能:
主要是实现异步操作的库,别的定语都在异步操作定义之上;
RxJava优势:
简洁,可读性强,后期维护方面;代码逻辑清晰,主线程与非主线程切换方便,能满足响应式需求
RxJava原理:
通过扩展的观察者模式实现的;
普通观察者模式原理:(Button -> 被观察者、OnClickListener -> 观察者、setOnClickListener() -> 订阅,onClick() -> 事件);
RxJava观察者模式原理:
Observable(被观察转者),Observer(观察者),Subscribe(订阅)事件,Observable和Observer通过Subscribe()方法实现订阅,从而使Observable在必要的时候通知Observer;
RxJava观察者模式特点:
除了普通的onNext回调方法还有两个特殊的方法,onCompleted(事件完结触发),和onError(事件异常触发);
RxJava实现三步:
第一:创建Observer
创建Observer(观察者)决定事件触发以后的行为或者创建Subscriber对象Subscriber是对Observer接口进行了一些扩展
1.onStar()方法,但是该方法是异步的不可更新ui,更新ui使用;
2.doOnSubscribe()方法,更新ui;
3.unSubscribe()方法,取消订阅;
4.isUnSubscribed()方法,判断当前的订阅状态;
第二:创建Observable对象
1.调用Observable.create()方法创建Observable对象,参数为Observable.OnSubscribe<?>()接口,返回值为Observable;
2.调用Observable.just(T...)创建Observable对象;
3.调用Observable.form(Iterable<? extends T>))创建Observable对象
第三:调用Observable.Subscriabe()实现观察者Observer对被观察者Observable的订阅
注意:
订阅结束之后,Observable.subscribe(Subscriber)底层执行循序:
1.Subscriber.onStart();
2.OnSubscribe.call();
3.传入的Subscriber返回方便unsubscribe();
- RxJava分析
- Rxjava分析—Subject
- Rxjava分析—Subject
- rxJava实例分析
- RxJava源码初步分析
- Rxjava Subject分析
- RxJava源码分析
- RxJava源码分析
- Rxjava Subject分析
- RXJava map方法分析
- Android:RxJava分析
- Rxjava分析—Subject
- RxJava简要分析
- rxJava 源码 原理分析
- Rxjava Subject分析
- Rxjava Subject分析
- Rxjava Subject分析
- Android RxJava原理分析
- 值得学习的轮子
- python学习笔记(基础语法)
- Windows原生安装TensorFlow
- io流的高效 读取
- @Autowired 对象为null
- RxJava分析
- MQTT消息服务器搭建--Apollo
- 射线Ray实现点击拾取
- jQuery中的extend函数
- Java的JIT编译优化技术
- kettle 读取表数据设置成变量
- Hamburgers [CF-371C]
- IC设计基础系列之低功耗篇6:(数字IC)低功耗设计入门(六)——门级电路低功耗设计优化
- 使用MUI 软键盘弹起挤压页面