RxJAVA学习笔记

首先清晰的弄清楚几个关键词的含义:
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所运行在的线程。或者叫做事件消费的线程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 注明:摘选自给 Android 开发者的 RxJava 详解,做该篇文章的笔记 一.创建 Observable-被...
    墨源为水阅读 1,324评论 0 1
  • 前言 最近看到各个公司的项目都在用RxJava,意识到必须要学习一下这个库了,所以找到了“扔物线”所发表的文章 “...
    逝水比喻时光阅读 4,468评论 0 2
  • 本文摘自 给 Android 开发者的 RxJava 详解,有兴趣的可以直接阅读原文,不必阅读此文章,这里只是记录...
    L_Xian阅读 1,468评论 0 1
  • 参阅给 Android 开发者的 RxJava 详解什么是函数式编程RxJava 2.0 全新来袭基于RxJava...
    小编阅读 6,094评论 0 5
  • 2010-08-27 22:21 上帝给了每个人 都有一次追梦的机会 有的人 自甘堕落 终毁一生 有的人 奋力追求...
    欧阳默阅读 3,244评论 0 0

友情链接更多精彩内容