有时候我们需要解绑订阅,或者取消订阅,

这个时候就使用到了 Disposable.dispose()方法下面以一个案例说下使用方法

  //Disposable.dispose()切断观察者 与 被观察者 之间的连接findViewById(R.id.rx_break_link).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//创建被观察者 & 生产事件//create()作用是创建被观察者对象,是最基本的操作符,只有创建//just()作用不能能创建还能发射对象等会通过案例对比下Observable.create(new ObservableOnSubscribe<String>() {@Overridepublic void subscribe(ObservableEmitter<String> emitter) {emitter.onNext("哈喽! Rxjava");emitter.onNext("嗨! Rxjava");emitter.onNext("喂! Rxjava");emitter.onComplete();}//subscribe订阅者连接观察者和被观察者//Observer 创建观察者 & 定义响应事件的行为}).subscribe(new Observer<String>() {@Overridepublic void onSubscribe(Disposable d) {mDisposable = d;//对Disposable类变量赋值Log.d("-----rxjava", "开始采用subscribe连接");}@Overridepublic void onNext(String s) {if (s.equals("嗨! Rxjava")){mDisposable.dispose();}Log.d("-----rxjava", "对Next事件作出响应:" + s);}@Overridepublic void onError(Throwable e) {Log.d("-----rxjava", "对Error事件作出响应" + e);}@Overridepublic void onComplete(){Log.d("-----rxjava", "对onComplete事件作出响应:RxJava认识完成");}});}});

解绑之后效果图

没有解绑点击的效果图

RxJava 解除订阅---------Disposable.dispose()方法相关推荐

  1. Rxjava Disposable解除订阅(Retrofit2+Rxjava2主动取消网络请求)

    Disposable类 dispose():主动解除订阅(如果使用Retrofit2+Rxjava2,调用dispose会主动取消网络请求,在本文的后半部分) isDisposed():查询是否解除订 ...

  2. RxJava2 如何使工作线程在Disposable.dispose后完成流程

    在使用Rxjava2时,特别要注意内存泄漏.所以一般在activity或者fragment销毁时调用disposable.dispose来取消订阅.但在之前的工作中遇到一个问题,如何确保你在work ...

  3. 强制回收和IDisposable.Dispose方法

    如果某对象的 Dispose 方法被调用一次以上,则该对象必须忽略第一次调用后的所有调用. 如果对象的 Dispose 方法被多次调用,该对象一定不要引发异常. 除Dispose 之外的实例方法在资源 ...

  4. java中的dispose()方法

    java中的dispose()方法 先来看看 JAVA 1.5 的帮助文档的原文 - dispose - public void dispose() ****** 释放由此 Window.其子组件及其 ...

  5. ubuntu共享文件夹或文件等右下角一把锁的标志【终极解除右下角锁的方法】

    ubuntu共享文件夹或文件等右下角一把锁的标志[终极解除右下角锁的方法] ubuntu中取消文件夹或文件等右下解一把锁的标志 方法:sudo chmod -R 777 路径(文件夹或文件) 比如:在 ...

  6. 易语言取c盘文件夹中的文件被占用,win7系统怎么快速找出文件被什么进程占用|win7解除文件占用的方法...

    ‍‍ 很多时候我们想删除文件或文件夹的时候,会出现文件正在使用的提示导致文件无法删除,如果知道是什么程序在使用这个文件好,但多数时候我们并不知道是被什么程序占用,那么在win7系统怎么快速找出文件被什 ...

  7. dispose方法的使用

    java中的dispose()方法 从JAVA 1.5 的帮助文档的原文 - dispose - public void dispose() 释放由此 Window.其子组件及其拥有的所有子组件所使用 ...

  8. java dispose方法_java-dispose方法

    今天在编一道JAVA例题时,看到 dispose 这个方法,在程序中是用来关闭一个GUI页面的.这也让我想到了setVisible(false)方法. 在网上查了意思,dispose()即释放所有本机 ...

  9. SqlConnection调用Dispose方法之后还可以在连接池中复用吗?

    在上一篇中简单讨论了SqlConnection的正确使用方式,顺带浅谈了一下连接池,不小心带出了一个问题:SqlConnection的Close和Dispose方法执行之后,该连接对象是不是真的放回到 ...

最新文章

  1. 08年最热门七大技术和最紧缺的IT人才
  2. 面试过程中千万不要犯这 5 点低级错误
  3. 数组对象的reduce方法
  4. 华为技术有限公司申请无人机相关专利
  5. 毕设日志——增加多尺度对应的不一样scale的RPN网络
  6. 领导叫我要好好带新人。。。
  7. C语言 求平方 求开方
  8. 平面变压器大概价格_莆田大型变压器规格,平面变压器价格
  9. 合宙Air724UG AT指令连接阿里云
  10. 邮件营销技巧和经验分享
  11. 用html做一个分类目录网站,分类目录网站做外链
  12. Qt动态翻译不生效!
  13. 高德地图车机版API演示程序
  14. Import Netscaler VPX10.5 to Hyper-V 2012R2
  15. STM32+Zigbee的使用
  16. 黑马程序员——构造器和方法
  17. Android 黑马Topline《企业级项目实战教程》2022
  18. 怎么在win7里设置默认启动用户?
  19. oracle+12c+大表,ORACLE 12C新特性-在线迁移表或分区 | 信春哥,系统稳,闭眼上线不回滚!...
  20. 12自由度六足机器人实现蓝牙遥控

热门文章

  1. SVN用法大全,SVN除了update、commit还有什么
  2. 简单图文配置golang+vscode【win10/centos7+golang helloworld+解决install failed等情况】
  3. 使用 Go module 后 VScode 智能提示不生效解决方案
  4. 三层交换机原理:01路由器如何隔离广播域?
  5. docker run 或者 docker restart 启动镜像就自动退出
  6. pandas dataframe 删除带空值的行 各种空值 (dropna()、isna()、isnull()、fillna())
  7. python性能分析之line_profiler模块-耗时,效率 时间
  8. 汇编语言中寻址方式[bx + idata]
  9. Nucleus 实时操作系统中断(下)
  10. 解决每次git pull需要不用输入用户名信息