Каковы преимущества и недостатки повторного использования DefaultHTTPClient
при отправке HTTP-запросов из приложения Android на внешний сервер? Я пытался использовать повторное использование DefaultHTTPClient
при выполнении периодических запросов HTTPGet
, но я получаю случайные тайм-ауты сокетов (особенно при использовании 3G).
Мой код выглядит следующим образом:
public class MyHTTPSender {
private DefaultHTTPClient mClient;
public MyHTTPSender() {
mClient = new DefaultHTTPClient();
}
public void send(String httpAddress) {
HttpGet get = new HttpGet(this.surrogateURL);
HttpResponse response = null;
try {
response = httpClient.execute(get);
// ... consume entity if OK
} catch (Exception e) {
} finally {
if (response != null) {
// do some sanity checks to ensure Entity is there!
response.getEntity().consumeContent();
}
}
}
}
Я не вижу ничего плохого в том, что делаю. У меня есть отдельный обработчик, который делает HTTPPost-запросы, и это работает отлично (использует другой объект DefaultHTTPClient).
Любые предложения?