美文网首页Android开发
RxJava学习(五)和observeOn操作符

RxJava学习(五)和observeOn操作符

作者: 大虾啊啊啊 | 来源:发表于2018-04-08 10:19 被阅读0次

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() {

                    }
                });
    }

相关文章

网友评论

    本文标题:RxJava学习(五)和observeOn操作符

    本文链接:https://www.haomeiwen.com/subject/xelphftx.html