Я реализовал viewpager с двумя фрагментами, каждый из которых отправляет один единственный запрос GET волейбол. Поскольку эти два фрагмента загружаются в одно и то же время, при использовании очереди запросов по умолчанию в volley я получаю единую ошибку диспетчера соединений с клиентом. Вот мой код запрос очереди, которая находится в одноточечном:Android volley - параллельные/параллельные запросы на получение от фрагментов viewpager
client = new DefaultHttpClient();
mRequestQueue = Volley.newRequestQueue(ctx.getApplicationContext(), new HttpClientStack(client));
Это приводит к следующей ошибке:
W/SingleClientConnManager﹕ Invalid use of SingleClientConnManager:connection still allocated.
Make sure to release the connection before allocating another one
я перешел к использованию ThreadedConnectionManager и это, кажется, решить эту проблему. Решение ниже:
DefaultHttpClient mDefaultHttpClient = new DefaultHttpClient();
final ClientConnectionManager mClientConnectionManager = mDefaultHttpClient.getConnectionManager();
final HttpParams mHttpParams = mDefaultHttpClient.getParams();
final ThreadSafeClientConnManager mThreadSafeClientConnManager = new ThreadSafeClientConnManager(mHttpParams, mClientConnectionManager.getSchemeRegistry());
mDefaultHttpClient = new DefaultHttpClient(mThreadSafeClientConnManager, mHttpParams);
final HttpStack httpStack = new HttpClientStack(mDefaultHttpClient);
mRequestQueue = Volley.newRequestQueue(ctx.getApplicationContext(), httpStack);
Мой вопрос: есть ли лучший способ решить эту проблему или мое решение подходит? Какова наилучшая практика в данном случае?
Вы делаете newRequestQueue каждый раз? Или он создается только в первый раз? –
Создается только один раз –
Пытался помочь. См. Ответ. –