【发布时间】:2018-10-24 07:02:49
【问题描述】:
从服务器下载图像时,我想知道是否可以改进以下代码,以便我只与服务器(主机)建立一个连接(握手),然后从该服务器下载图像 - 一个接一个?
看代码
字符串 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-path 分解为
- 主机(即与 https://image.tmdb.org 的 ONE 连接)
- 建立连接后,添加其余部分,即图像在服务器上的位置(本例中为:/t/p/w500//jjPJ4s3DWZZvI4vw8Xfi4Vqa1Q8.jpg)?
【问题讨论】:
标签: java android httpurlconnection httpconnection