RxJava

作者: Timeschang_e07c | 来源:发表于2020-09-19 03:55 被阅读0次

    rxjava它就是一个实现异步操作的库.同样是做异步,为什么人们用它,而不用现成的 AsyncTask / Handler / XXX /异步操作很关键的一点是程序的简洁性.它和普通的观察者完全不同标准观察者模式只有一个被观察者 多个观察者并且被观察者改变通知观察者才能挂查到RxJava 中是多个被观察者一个观察者,并且需要起点和终点订阅一次后,才发出改变通知,终点(观察者)才能察觉到,所以也叫订阅模式


    1.Observer 四个接口  onSubscribe  onNext onError  onComplete 

    2.Observable创建过程ObSservable.creat()里面放一个自定义的Source

    3.subscribe 订阅流程 observableCreate.subscribe() 里面放自定义的观察者observer

    方法里面调用subscribeActual();从右往左再从左向右 U型结构

    rxJava的Hook

    每一个操作符的实现都有 RxJavaPlugins.onAssembly() 方法进去的参数和返回的参数是一样的。中间有个默认为空的onObserableAssembly可以为其赋值实现Hook。

    关于Map的分析

    tip

    1.rxjava 引入为什么还要rxandroid  (补全rxjava) 线程切换用的rxandroid

    .oobserverOn(Schedulers.io)//给上面的分配io子线程线程 里面的返回和上面的hook一样我们可以重写方法hook用于监听io线程使用次数。或者其他

    .observerOn(Android.mainThread)主线程

    Rxjava+Retryfit结合

    retryfit 运用动态代理  以及注解 和反射 在写接口的时候返回observiable和rxjava融合成为起点。动态代理操作单元: 接口  实现   代理  接口传入代理类卡返回实例化的数据。

    rxbinding(防抖)

    rxview.click(控件id).throttleFirst(2s,1次).subscribe()......

    解决网络嵌套(flatmap)

    doOnnext()

    相关文章

      网友评论

        本文标题:RxJava

        本文链接:https://www.haomeiwen.com/subject/rkusyktx.html