当前位置: 首页 > article >正文

Android RXjava实现子线程做耗时操作,比new Thread和handler更香

1.首先是在build.gradle里面引用下面两个库
implementation ‘io.reactivex.rxjava2:rxandroid:2.0.1’
implementation ‘io.reactivex.rxjava2:rxjava:2.0.7’
2.创建CompositeDisposable 。CompositeDisposable是一个存放Disposable的集合,它是一个容器
CompositeDisposable compositeDisposable = new CompositeDisposable();
3.创建Observable
//创建子线程
Observable operationObservable = Observable.create(new ObservableOnSubscribe() {
@Override
public void subscribe(ObservableEmitter emitter) throws Exception {
//耗时操作代码todo
emitter.onNext(1);
emitter.onComplete();
}
}).subscribeOn(Schedulers.io());//线程调度器
operationObservable.subscribe(new io.reactivex.Observer() {
@Override
public void onSubscribe(Disposable d) {
compositeDisposable.add(d);
}
@Override
public void onNext(Integer integer) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
4.销毁容器
@Override
protected void onDestroy() {
super.onDestroy();
compositeDisposable.clear();
}


http://www.kler.cn/a/444279.html

相关文章:

  • *【每日一题 基础题】 [蓝桥杯 2023 省 B] 飞机降落
  • 智能工厂的设计软件 三种处理单元(NPU/GPU/CPU)及其在深度学习框架中的作用 之4(百度文库答问 之2)
  • Elasticsearch-DSL高级查询操作
  • LeetCode刷题day29——动态规划(完全背包)
  • 软考高项,考情学习
  • neo4j删除所有数据
  • MySQL笔记--多表查询
  • C语言输入缓冲区问题及其解决办法
  • Redhat 10 beta安装流程步骤详细教程
  • SWIFT基本使用
  • MySQL 学习系列:01_安装部署MySQL 8.2.0 并使用changer master 传统方式搭建部署一主一从操作记录
  • 1-1 STM32-0.96寸OLED显示与控制
  • linux 安装jdk
  • leetcode----mysql
  • SpringMVC 学习笔记
  • 滑不动窗口的秘密—— “滑动窗口“算法 (Java版)
  • mac iterm2 使用 lrzsz
  • 微积分复习笔记 Calculus Volume 2 - 4.4 The Logistic Equation
  • 浏览器引入elasticsearch-head插件
  • tomcat(Web应用服务器)
  • 线性代数基础与应用:基底 (Basis) 与现金流及单期贷款模型(中英双语)
  • ACL-2024 | MapGPT:基于地图引导提示和自适应路径规划机制的视觉语言导航
  • 如何实现单例模式?
  • webpack处理图片资源
  • 【JavaEE进阶】关于Maven
  • macos控制台安装