Я использую Apache DefaultHttpClient в приложении для Android, чтобы отправить запрос на получение веб-серверу (URL не имеет значения, такое явление наблюдается на разных серверах / сайтах).Первый запрос с использованием HTC Desire с сетью 3G занимает несколько секунд (> 4 с), последующие - примерно 0,5 с.Если я подожду более ~ 15 секунд, прежде чем сделать следующий запрос, этому следующему запросу снова потребуется несколько секунд.Запрос использует HTTP1.1, серверное время не проблема.Поиск DNS также не является проблемой, так как я пытался использовать IP-адрес.
Для меня это выглядит как установка тайм-аута соединения в платформе Apache или моего устройства HTC, переводящего сетевой интерфейс в спящий режим (еслиделает это вообще).
Кодирование довольно простое, оно выглядит так:
HttpGet get = new HttpGet(uri);
long startTimeMillisRequest = System.currentTimeMillis();
HttpResponse response = client.execute(get);
long endTimeMillisRequest = System.currentTimeMillis();
Кто-нибудь имеет ключ к пониманию причины или испытывает то же самое?Я уже положил это в AsyncTask, но все же я хотел бы знать, почему это так медленно.
Спасибо, Мартин