14

В презентации Paresh Mayani на SpeakerDeck (https://speakerdeck.com/pareshmayani/lazy-android-developers-be-productive) он говорит, что лучше использовать OkHttp или Retrofit вместо AsyncTaskDefaultHttpClient с.Почему я должен использовать OkHttp вместо андроида HTTPClient и AsyncTask

Мой вопрос: почему?
Почему они быстрее?
Не те ли библиотеки, основанные на стандартном классе Android?
В чем разница между OkHttp и Retrofit?

Спасибо!

ответ

15

Как всегда, проектирование заключается в балансировании компромиссов, чтобы построить лучшее решение для ваших требований.

Использование библиотеки вместо платформы - хороший пример. API платформы существует довольно долгое время, и по соображениям совместимости команда Android имеет меньшую гибкость в изменении этих интерфейсов. У библиотеки нет этих ограничений; например, если хост поддерживает его, OkHttp может использовать протокол SPDY для более низкой латентности, сжатия, мультиплексирования и т. д., что может сделать ваше приложение Android более отзывчивым.

OkHttp and Retrofit - это проекты с площади - могут работать вместе. Они также являются обычными библиотеками Java, поэтому они не зависят от/на основе Android. OkHttp обрабатывает детали HTTP-соединения нижнего уровня, а Retrofit упрощает использование API REST. Дооснащение можно использовать поверх OkHttp, но это не требуется.

Проверьте веб-сайты проектов, они также размещены на github.

http://square.github.io/okhttp/

http://square.github.io/retrofit/