美文网首页
RxJava 定时执行

RxJava 定时执行

作者: 不会弹钢琴de大叔 | 来源:发表于2024-01-25 13:57 被阅读0次

依赖引入

    implementation 'io.reactivex.rxjava2:rxjava:2.2.19'
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'

1 等待2s后执行任务

Observable.timer(2 * 1000, TimeUnit.MILLISECONDS)
                    .observeOn(AndroidSchedulers.mainThread())
                    .subscribeOn(Schedulers.io())
                    .subscribe(s -> getCode());

2 间隔1s轮询执行任务

private Disposable mDisposable;

    /**
     * 开启循环任务
     * 0 开始延时时间 1000 每次间隔执行时间
     */
    private void timeLoop() {
        mDisposable = Observable.interval(0, 1000, TimeUnit.MILLISECONDS)
                .map((mTimer -> mTimer + 1))
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(mTimer -> {
                    Log.wtf("ZHJ++", "zhj~ timeLoop: " + mTimer);
                });
    }

    /**
     * 关闭定时任务
     */
    private void stopLoop() {
        if (mDisposable != null) {
            mDisposable.dispose();
        }
    }

相关文章

网友评论

      本文标题:RxJava 定时执行

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