Одно соединение с сервером - скачать несколько изображений - PullRequest
0 голосов
/ 14 мая 2018

При загрузке изображений с сервера мне интересно, можно ли улучшить следующий код, чтобы я устанавливал ОДНО соединение (рукопожатие) с сервером (хостом), а после этого загружал изображения с этого сервера - по одному?

Посмотрите на код

String imageUrl = https://image.tmdb.org/t/p/w500//jjPJ4s3DWZZvI4vw8Xfi4Vqa1Q8.jpg

        URL imgUrl = new URL(imageUrl);
                            HttpURLConnection httpURLConnection = (HttpURLConnection) imgUrl.openConnection();
                            httpURLConnection.connect();
                            InputStream in = httpURLConnection.getInputStream();
                            Bitmap movieBitmap = BitmapFactory.decodeStream(in);

Это делается в цикле в AsyncTask, поэтому полный URL-адрес здесь является первым файлом / изображением, полученным с сервера. Затем в следующем цикле путь на сервере к имени файла меняется на новый образ.

Проблема здесь в том, что соединение устанавливается на КАЖДОМ петле - поэтому, если есть 10 итераций, есть 10 соединений, так как я должен установить соединение с каждым изображением.

Так что вопрос в том, смогу ли я разбить полный URL-путь до

  • хост (то есть ОДНО соединение с https://image.tmdb.org)
  • после того, как соединение установлено, добавьте остальное, что означает, где изображение находится на сервере (в данном случае: / t / p / w500 // jjPJ4s3DWZZvI4vw8Xfi4Vqa1Q8.jpg )?

1 Ответ

0 голосов
/ 14 мая 2018

Попробуйте использовать Retrofit, здесь вы можете добавить базовый URL, а затем динамически изменить оставшийся URL

...