Cualquiera sabe por qué el código siguiente se ejecutaría unas 4 veces más lento en Android 3.2 (Samsung Galaxy 10.1 "Tab) que en 2.3.3 (Motorola Droid X) ?HttpClient ejecución de HttpPost significativamente más lento en Android 3.2 que 2.3.3
en Android 2.3.3, la client.execute() llamada tarda una media de 350 ms . en 3.2 se tarda en promedio 1400ms.
Además, los resultados son los mismos independientemente de si se ejecuta en el subproceso de la interfaz de usuario o una cadena de fondo.
¿Es esto un error de sistema operativo o problema de hardware? ¿O no estoy haciendo algo bien en mi código? Desafortunadamente no puedo conectar ADB a mi dispositivo virtual 3.2, así que no puedo descartar problemas de hardware, pero mi instinto me dice que este es un problema de Honeycomb.
HttpResponse resp = null;
HttpParams params = new BasicHttpParams();
params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
HttpClient client = new DefaultHttpClient(params);
ArrayList<BasicNameValuePair> postParms = new ArrayList<BasicNameValuePair>();
postParms.add(new BasicNameValuePair("name", "test"))
try
{
HttpPost hp = new HttpPost("http://myserver/path/method");
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParms);
hp.setEntity(formEntity);
Long start = SystemClock.elapsedRealtime();
resp = client.execute(hp);
Long stop = SystemClock.elapsedRealtime();
Log.i("Time = " + (stop-start) + "ms");
}
...
¿Se están realizando ambas solicitudes a través de WiFi? –
Sí, ambos tienen Wi-Fi. – d60402