美文网首页
RxJAVA学习笔记

RxJAVA学习笔记

作者: 每天都有新的太阳 | 来源:发表于2017-05-03 10:22 被阅读0次

    首先清晰的弄清楚几个关键词的含义:
    Observable(可观察者,即被观察者)、
    Observer(观察者)
    subscribe(订阅)
    onNext() 普通事件
    onCompleted(): 事件队列完结
    onError(): 事件队列异常
    Scheduler()调度器(线程控制)
    Schedulers.immediate(): 直接在当前线程运行,相当于不指定线程。这是默认的Scheduler。
    Schedulers.newThread(): 总是启用新线程,并在新线程执行操作。
    Schedulers.io(): I/O 操作(读写文件、读写数据库、网络信息交互等)所使用的Scheduler。行为模式和newThread()差不多,区别在于io()的内部实现是是用一个无数量上限的线程池,可以重用空闲的线程,因此多数情况下io()比newThread()更有效率。不要把计算工作放在io()中,可以避免创建不必要的线程。
    Schedulers.computation(): 计算所使用的Scheduler。这个计算指的是 CPU 密集型计算,即不会被 I/O 等操作限制性能的操作,例如图形的计算。这个Scheduler使用的固定的线程池,大小为 CPU 核数。不要把 I/O 操作放在computation()中,否则 I/O 操作的等待时间会浪费 CPU。AndroidSchedulers.mainThread(),它指定的操作将在 Android 主线程运行。
    subscribeOn(): 指定subscribe()所发生的线程,即Observable.OnSubscribe被激活时所处的线程。或者叫做事件产生的线程。
    observeOn(): 指定Subscriber所运行在的线程。或者叫做事件消费的线程。

    相关文章

      网友评论

          本文标题:RxJAVA学习笔记

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