Почему время отклика (для Rest Call) медленнее в Android по сравнению с ПК?
Я делаю api-вызов с устройства Android и был очень удивлен, увидев разницу в скорости по сравнению с ПК. Ниже изображение с инструмента для отдыха на ПК.
Я попробовал несколько библиотек, таких как Retrofit, Volley, а также обычную задачу Async, чтобы сделать такой же вызов покоя с устройства Android, и заметил следующее время отклика.
(Response times with Retrofit library (Time includes converting json data to java objects)).
Test 1: 8372 Ms
Test 2: 7715 Ms
Test 3: 7686 Ms
Test 4: 10128 Ms
Test 5: 7876 Ms
(Response times with Volley. No conversion to Java Objects from Json Data )
Test 1: 6721 MS
Test 2: 6610 MS
Test 3: 6287 MS
Test 4: 6118 MS
Test 5: 6118 MS
я взялSystem.currentTimeMillis()
перед вызовом, после получения ответа и вычитания этих значений, чтобы получить время отклика в программе Android выше.
Было бы очень полезно, если бы кто-нибудь показал мне, как уменьшить время отклика в Android.
К вашему сведению: я нахожусь на Wi-Fi и использую одну и ту же сеть для моего ПК и устройства Android.
Вот код дооснащения Android
RestAdapter adapter = new RestAdapter.Builder()
.setEndpoint(ENDPOINT)
.build();
WeatherApi weatherApi = adapter.create(WeatherApi.class);
startTime = System.currentTimeMillis();
weatherApi.getWeather(location.getLatitude(),location.getLongitude(),new Callback<WeatherInfo>() {
@Override
public void success(WeatherInfo arg0, Response arg1) {
endTime = System.currentTimeMillis();
Log.d("TAG",endTime-startTime + ":Millisecs");
setWeatherInfo(arg0);
if(weatherDialog != null && weatherDialog.isShowing())
weatherDialog.dismiss();
}