RxJava学习(五)和observeOn操作符

1.subscribeOn:对被观察者发送事件所在线程进行切换
2.observeOn:对观察者响应事件所在线程进行切换
各个线程的概念:
Schedulers.immediate() 当前线程 = 不指定线程 默认
AndroidSchedulers.mainThread() Android主线程 操作UI
Schedulers.newThread() 常规新线程 耗时等操作
Schedulers.io() io操作线程 网络请求、读写文件等io密集型操作
Schedulers.computation() CPU计算操作线程 大量计算操作
例子:
网络请求,在IO线程进行网络请求,在UI线程响应请求,做相应UI操作。


private static final ApiManagerService request = retrofit.create(ApiManagerService.class);
    private void login(BaseVo vo){
       Observable<BaseDto> observable =  request.login(vo);
        observable
                //在io线程 执行发送网络请求
                .subscribeOn(Schedulers.io())
                //在Android Ui线程中响应请求(观察者接受事件)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<BaseDto>() {
                    @Override
                    public void onSubscribe(Disposable d) {

                    }

                    @Override
                    public void onNext(BaseDto baseDto) {

                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onComplete() {

                    }
                });
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard...
    占导zqq阅读 9,296评论 6 151
  • 我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的...
    Jason_andy阅读 5,740评论 7 62
  • 转一篇文章 原地址:http://gank.io/post/560e15be2dca930e00da1083 前言...
    jack_hong阅读 1,028评论 0 2
  • 文章转自:http://gank.io/post/560e15be2dca930e00da1083作者:扔物线在正...
    xpengb阅读 7,127评论 9 73
  • 她告诉我,她堕落了。 她告诉我,她在天堂与地狱的边缘徘徊,纠结,迷失…… 她告诉我,她并不想继续下去,却始终找不到...
    溪郁阅读 273评论 0 0

友情链接更多精彩内容