Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android:延迟地连续调用api_Java_Android_Multithreading_Coroutine - Fatal编程技术网

Java android:延迟地连续调用api

Java android:延迟地连续调用api,java,android,multithreading,coroutine,Java,Android,Multithreading,Coroutine,我需要使用改型连续调用两个API。每10秒调用一个,每3秒调用一个。哪种方法是最有效的方法。线程、协同程序、rxjava等 你能描述一下每一个和它的用法吗 RxJava最适合这种情况 你可以这样使用它 // for 10 sec disposableLiveTracking = Observable.interval(0, 10, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThread())

我需要使用改型连续调用两个API。每10秒调用一个,每3秒调用一个。哪种方法是最有效的方法。线程、协同程序、rxjava等


你能描述一下每一个和它的用法吗

RxJava最适合这种情况 你可以这样使用它

// for 10 sec 
    disposableLiveTracking = Observable.interval(0, 10, TimeUnit.SECONDS)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(v -> call api here, throwable -> throwable.printStackTrace());

/for 3 sec
    disposableLiveTracking = Observable.interval(0, 3, TimeUnit.SECONDS)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(v -> call api here, throwable -> throwable.printStackTrace())
//您应该在onPause或destroy中处理Rxjava subs

像这样

  @Override
    protected void onDestroy() {
        super.onDestroy();
        if (null != disposableLiveTracking ) {
            disposableLiveTracking .dispose();
        }
    }