Как установить максимальное количество сетевых подключений в Retrofit
Я просматривал здесь некоторый код AQuery и обнаружил, что есть способ изменить количество сетевых подключений в AQuery.
Есть ли способ сделать это при модернизации, и каковы значения по умолчанию для модернизации?
/* Settings of Image */
//set the max number of concurrent network connections, default is 4
AjaxCallback.setNetworkLimit(8);
//set the max number of icons (image width <= 50) to be cached in memory, default is 20
BitmapAjaxCallback.setIconCacheLimit(50);
//set the max number of images (image width > 50) to be cached in memory, default is 20
BitmapAjaxCallback.setCacheLimit(50);
aq = new AQuery(context);
1 ответ
Номер соединения по умолчанию, например, в Retrofit, несколько по требованию, т.е. новый поток создается / используется повторно для каждого нового Runnable
(соединение), которое подается на Executor
Вы можете ограничить сетевое подключение, ограничив количество Thread
, Когда вы строите свой RestAdapter
делать:
restAdapterBuilder.setExecutors(Executors.newCachedThreadPool(numberOfConnections), new MainThreadExecutor());
или же
restAdapterBuilder.setExecutors(Executors.newFixedThreadPool(numberOfConnections), new MainThreadExecutor());
Это то же самое, что делает AQuery для ограничения количества соединений.
Смотрите исполнителей для более