美文网首页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