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


被折叠的 条评论
为什么被折叠?



