Может быть, так оно и реализовано, и вы ничего не можете сделать.Это мое предположение.Мое мнение состоит в том, чтобы делать все основанные на соединении вещи в вашем собственном потоке (чтобы поместить в фоновом режиме) и на переднем плане (основной поток пользовательского интерфейса) развлекать пользователя.:)
Я немного поиграл с этим, и он работает достаточно быстро для меня ... Вот мой код:
private static HttpResponse doPost(String url, JSONStringer json) {
try {
HttpPost request = new HttpPost(url);
StringEntity entity;
entity = new StringEntity(json.toString());
entity.setContentType("application/json;charset=UTF-8");
entity.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json;charset=UTF-8"));
request.setEntity(entity);
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
return response;
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
И где-то еще я вызываю этот метод, например:
HttpResponse httpResponse = doPost(url, json);
BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8"));
У меня нормально работает ...