使用dispose取消订阅后只是不再接收而已,后台的耗时任务还在继续执行,请教怎么让后台不再继续执行?一直判断
isDisposed()这种方法太繁琐了。

解决方案 »

  1.   

    可以使用RxLifeCycle框架 把RxJava的生命取消订阅时机和Activity 或 Fragment 的生命周期进行绑定。
      

  2.   

    如果你本身封装了cancel之类的 你可以重写dispose()这个方法,在这里取消。循环判断一个值作为是否结束,这个逻辑我觉得是没问题的。不知道你出于什么考量
      

  3.   

    子线程中,有些是需要阻塞运行的,定时查询isDisposed()方式,实时性太差