Есть ли большая разница между этими двумя и какая из них предпочтительнее использовать?
AndroidHttpClient и DefaultHttpClient
Ответ 1
AndroidHttpClient
: Подкласс Apache DefaultHttpClient
, который настроен с разумными настройками по умолчанию и зарегистрированными схемами для Android, а также позволяет пользователю добавлять классы HttpRequestInterceptor
.
Этот клиент обрабатывает файлы cookie, но не сохраняет их по умолчанию. Чтобы сохранить файлы cookie, просто добавьте хранилище cookie в HttpContext
[API]
Ответ 2
На основе исходного кода Android:
AndroidHttpClient настроен на выполнение следующих дополнительных настроек:
- Отключить устаревшую проверку, так как соединения могут прерываться все время.
- Установить ConnectionTimeout и SoTimeout (20 или 60 секунд)
- Отключить перенаправление.
- Используйте кеш сеанса для сокетов SSL.
- Используйте gzip сжатый трафик между клиентом и сервером, если это возможно.
- Не сохраняет файлы cookie по умолчанию.
Ответ 3
Этот интересный сообщение в блоге от разработчика android дает обзор различных HTTP-клиентов Androids.
В соответствии с этим сообщением URLConnection должно быть предпочтительнее, чем DefaultHttpClient или AndroidHttpClient на Gingerbread и выше.