Почему в некоторых случаях получение ответа от ретрофита занимает много времени? ⇐ Android
-
Anonymous
Почему в некоторых случаях получение ответа от ретрофита занимает много времени?
Иногда модифицируйте запрос @get Ответ приходится ждать долго (10-15 сек.). Я получаю только строковые данные. в среднем 1-2 кб.
Нет проблем, когда я отправляю запрос от почтальона
Как вы думаете, в чем проблема?
RetrofitService.class;
частный val okHttpClient = OkHttpClient().newBuilder() .connectTimeout(20,TimeUnit.SECONDS) .readTimeout(20, TimeUnit.SECONDS) .writeTimeout(20, TimeUnit.SECONDS) .строить() частный вызов val = Retrofit.Builder() .baseUrl(Константы.ССЫЛКА) .client(okHttpClient) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) .build().create(ApiEndpointRXJava::class.java) fun getRetrofit (запрос: String, auth: String, queryList: List): Single { return call.getRetrofit(query, auth, queryList) } Интерфейс;
@GET(".../.../...") весело получитьRetrofit( Запрос @Query("query"): строка, @Header("Авторизация") авторизация: строка, @Query("queryList") queryList: List ): Single ViewModel.class;
fun getRetrofit(query: String, auth: String, queryList: List) { errorData.value = ложь одноразовый.добавить( модернизировать .getRetrofit(запрос, аутентификация, список запросов) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(объект: DisposableSingleObserver() { переопределить удовольствие onSuccess(t: List) { v.value = т } переопределить fun onError(e: Throwable) { е.значение = правда } }) ) }
Иногда модифицируйте запрос @get Ответ приходится ждать долго (10-15 сек.). Я получаю только строковые данные. в среднем 1-2 кб.
Нет проблем, когда я отправляю запрос от почтальона
Как вы думаете, в чем проблема?
RetrofitService.class;
частный val okHttpClient = OkHttpClient().newBuilder() .connectTimeout(20,TimeUnit.SECONDS) .readTimeout(20, TimeUnit.SECONDS) .writeTimeout(20, TimeUnit.SECONDS) .строить() частный вызов val = Retrofit.Builder() .baseUrl(Константы.ССЫЛКА) .client(okHttpClient) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) .build().create(ApiEndpointRXJava::class.java) fun getRetrofit (запрос: String, auth: String, queryList: List): Single { return call.getRetrofit(query, auth, queryList) } Интерфейс;
@GET(".../.../...") весело получитьRetrofit( Запрос @Query("query"): строка, @Header("Авторизация") авторизация: строка, @Query("queryList") queryList: List ): Single ViewModel.class;
fun getRetrofit(query: String, auth: String, queryList: List) { errorData.value = ложь одноразовый.добавить( модернизировать .getRetrofit(запрос, аутентификация, список запросов) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(объект: DisposableSingleObserver() { переопределить удовольствие onSuccess(t: List) { v.value = т } переопределить fun onError(e: Throwable) { е.значение = правда } }) ) }
Мобильная версия