Warum ist die Reaktionszeit (für Rest Call) in Android im Vergleich zum PC langsamer?
Ich mache einen Ruhe-API-Anruf von einem Android-Gerät und war sehr überrascht über den Unterschied der Geschwindigkeiten im Vergleich zum PC. Unten ist das Bild von einem Rest-Tool auf dem PC.
Ich habe einige Bibliotheken wie Retrofit, Volley und auch normale Async-Aufgaben ausprobiert, um den gleichen Rest-Anruf von einem Android-Gerät aus zu tätigen. Dabei sind mir folgende Reaktionszeiten aufgefallen.
(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
Ich nahmSystem.currentTimeMillis()
vor dem Tätigen eines Anrufs und nach Erhalt der Antwort und Subtraktion dieser Werte, um die Antwortzeit im Android-Programm zu überschreiten.
Es wäre sehr hilfreich, wenn mir jemand zeigen könnte, wie man die Reaktionszeit in Android verkürzt.
u Ihrer Information: Ich bin im WLAN und verwende dasselbe Netzwerk für meinen PC und mein Android-Gerä
Hier ist der Retrofit Android Code
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();
}