Кто-нибудь знает, почему код ниже будет работать примерно в 4 раза медленнее на Android 3.2 (Samsung Galaxy 10.1" Tab), чем на 2.3.3 (Motorola Droid X)?
На Android 2.3.3 вызов client.execute() занимает в среднем 350 мс. В версии 3.2 он занимает в среднем 1400 мс.
Кроме того, результаты одинаковы независимо от того, выполняется ли вызов в потоке пользовательского интерфейса или в фоновом потоке.
Это ошибка ОС или аппаратная проблема? Или я что-то не так делаю в своем коде? К сожалению, я не могу подключить ADB к моему виртуальному устройству 3.2, поэтому я не могу исключить аппаратные проблемы, но моя интуиция подсказывает мне, что это проблема 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");
}
...