Есть ли способ удалить все ожидающие потоки OkHttp ConnectionPool после завершения сетевого вызова с использованием RxJava-2.0 и Retrofit-2.0 - PullRequest
0 голосов
/ 20 декабря 2018

Я использую Retrofit-2.0 и RxJava-2.0 для сетевого вызова.Каждый раз, когда я нажимаю на сетевой вызов и завершаю его, поток OkHttp ConnectionPool добавляется в список ожидающих, который я наблюдаю из окна Debugger-> Threads.Как я могу удалить их, когда мой сетевой вызов завершен?

    private void tokenPostRequest(JsonObject postDataJsonObject) {
    showSpin();
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(getString(R.string.baseUrl))
            .addConverterFactory(ScalarsConverterFactory.create())
            .addConverterFactory(GsonConverterFactory.create())
            .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
            .build();

    Observable<String> postTokenObservable = retrofit
            .create(RetrofitNetworkService.class)
            .setFcmToken(postDataJsonObject)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .unsubscribeOn(Schedulers.io());

    finalDisposer.add( postTokenObservable
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .unsubscribeOn(Schedulers.io())
            .subscribeWith(new DisposableObserver<String>() {

                @Override
                public void onNext(String returnData) {
                    hideSpin();
                    Toast.makeText(getApplicationContext(),"Successfully 
                            posted token",Toast.LENGTH_LONG).show();
                }

                @Override
                public void onComplete() {

                }

                @Override
                public void onError(Throwable e) {
                    hideSpin();
                    Toast.makeText(getApplicationContext(),"ERROR posting 
                            token",Toast.LENGTH_LONG).show();
                }
            }));
}

Here is a snapshot of my Debugger window

...