Создает ли Volley новое сетевое подключение для каждого запроса в очереди запросов?

Я использую Volley в качестве сетевой библиотеки для своего проекта Android. Мне любопытно узнать, когда открывается сетевое соединение и поддерживает ли Volley одно и то же соединение при выполнении нескольких запросов POST с использованием одного и того же URL-адреса запроса?


person v01d    schedule 13.01.2016    source источник
comment
Как упоминалось здесь developer.android.com/training/volley/index.html , Volley использует разные сетевые подключения для каждого почтового запроса, который вы делаете.   -  person Karthik damodara    schedule 13.01.2016


Ответы (1)


Ответ кроется в реализации HttpStackinterface. У Volley есть две готовые версии — HurlStack, использующая HttpUrlConnection, и HttpClientStack, использующая библиотеку Apache.

Беглый взгляд на HurlStack показывает, что новый объект HttpUrlConnection создается для каждого запроса. Обычно пул соединений и повторное использование обрабатывается самим HttpUrlConnection. Я думаю, что он будет вести себя максимально шустро и переиспользовать как можно больше ресурсов.

То же самое относится и к HttpClientStack. Он использует общий HttpClient для выполнения запросов, поэтому библиотека Apache должна иметь дело с пулом соединений и т. д.

Подводя итог, можно сказать, что создание и обслуживание низкоуровневой сети — это не то, чем непосредственно занимается Volley. Все дело в конкретных реализациях, но, насколько я помню, они сделают за вас как можно больше тяжелой работы.

person Danail Alexiev    schedule 13.01.2016
comment
Благодаря тонну. Я нашел то же самое, просматривая код реализации Volley. - person v01d; 13.01.2016