У меня следующая проблема:
- Мое приложение должно информировать веб-сайт об изменениях как можно быстрее
- Это может произойти так быстро, что предыдущий веб-запрос не был полностью обработан
- Приложение всегда должно отправлять хотя бы последний веб-запрос (не имеет значения, если предыдущие потеряны).
Я не уверен, как это сделать оптимально. Мой текущий метод ниже, но выдает мне предупреждение ( "Неправильное использование SingleClientConnManager: соединение все еще выделено." ). Я подозреваю, что могу повторно использовать это соединение, но понятия не имею, как. Использование threadSafeConnManager не кажется решением, так как мне нужно только одно соединение (я думаю :)).
Как мне оптимизировать мой код для моих нужд?
Runnable в приведенном ниже коде находится в потоке ( webThread ), а webrequest - глобальная переменная, для которой задан определенный URL-адрес. После установки переменной запускается webThread.run () .
private Runnable mSyncInternet = new Runnable() {
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
public void run() {
HttpGet httpGet = new HttpGet(webrequest);
try {
HttpResponse response = httpClient.execute(httpGet, localContext);
} catch (ClientProtocolException e) {
sendMessageToUI(MSG_NO_INTERNET, 1);
} catch (IOException e) {
sendMessageToUI(MSG_NO_INTERNET, 1);
}
}
};
Заранее большое спасибо!