RxJava 学习笔记

本文是基于扔物线的《给 Android 开发者的 RxJava 详解》的学习笔记,介绍了RxJava的基本概念和线程控制。RxJava是一个用于Java VM的异步编程库,通过观察者模式实现。在不指定线程时,遵循线程不变原则。文章详细讲解了Scheduler的使用,如immediate(), newThread(), io(), computation()和AndroidSchedulers.mainThread(),以及subscribeOn和observeOn的作用。" 131486430,18870241,Python输入汉字技巧:从编码到第三方库,"['Python开发', '编码处理', '自然语言处理', '中文处理', '开发工具']
扔物线文章 《给 Android 开发者的 RxJava 详解》 的学习笔记。

RxJava 介绍

  • Github 地址:
    https://github.com/ReactiveX/RxJava
    https://github.com/ReactiveX/RxAndroid
    引入依赖:
    compile ‘io.reactivex:rxjava:x.y.z’
    compile ‘io.reactivex:rxandroid:x.y.z’

  • “a library for composing asynchronous and event-based programs using observable sequences for the Java VM”(一个在 Java VM 上使用可观测的序列组成异步的、基于事件的程序的库)

    • RxJava 的本质是异步,是一个实现异步操作的库。
  • RxJava 的优势是简洁,是指逻辑上的简洁,即随着程序逻辑变得越来越复杂,它依然能够保持简洁

  • RxJava 的异步实现,是通过一种扩展的观察者模式来实现的

  • Observable 被观察者

  • Subscribe 订阅者(同Observable)
  • Observer 观察者

线程控制–Scheduler

  • 在不指定线程的情况下,RxJava 遵循的是线程不变的原则,即:在哪个线程调用 subscribe(),就在哪个线程生产事件;在哪个线程生产事件,就在哪个线程消费事件。如过需要切换线程,就需要用到 Scheduler(调度器)

  • Schedulers.immediate(): 当前线程运行,默认的 Scheduler

  • Schedulers.newThread(): 总是启用新线程,并在新线程执行操作

  • Schedulers.io(): I/O 操作(读写文件、读写数据库、网络信息交互等)所使用的 Scheduler

  • Schedulers.computation(): 计算所使用的 Scheduler

  • AndroidSchedulers.mainThread(): Android 专用,指定的操作将在Android 主程序运行。

  • subscribeOn: 被观察者所发生的线程,比如网络请求,I/O 操作等

  • observeOn: 观察者所运行的线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值