RxJava 应该晓得的

线程控制

Scheduler 调度器(相当于线程控制器)

  • Scheduler.immediate()
    直接在当前线程运行。它是timeout、timeInterval和timestamp操作符的默认调度器。
  • Scheduler.newThread()
    开启新线程
  • Scheduler.io()
    I/O操作(读写文件、读写数据库、网络信息交互等),这个调度器的线程池会根据需要增长,比newThread更有效率。对于普通的计算任务,使用Schedulers.computation();Schedulers.io( )默认是一个CachedThreadScheduler,很像一个有线程缓存的新线程调度器。
  • Schedulers.computation()
    计算所使用的 Scheduler。如事件循环或和回调处理,不要用于IO操作(IO操作请使用Schedulers.io());默认线程数等于处理器的数量。是buffer、debounce、delay、interval、sample和skip操作符的默认调度器。
  • Schedulers.trampoline
    当我们想在当前线程执行一个任务时,并不是立即执行时,可以用trampoline将它入队。这个调度器将会处理它的队列并且按序运行队列中的每一个任务。是repeat和retry操作符的默认调度器。
  • AndroidSchedulers.mainThread()
    指定的操作默认在主线程中运行。

用Subscribe和observeOn操作符来控制线程

RxBus

RxJava实现事件总线RxBus来替代EventBus和otto,来减少依赖库
RxBus的实现及简单使用
RxBus学习之旅--从入门到提高

你可能感兴趣的:(RxJava 应该晓得的)