从下面两行中,实际下载发生在哪一行?如果可能的话,请解释从流下载图像
InputStream input = new java.net.URL(imageURL).openStream();
bitmap = BitmapFactory.decodeStream(input);
从下面两行中,实际下载发生在哪一行?如果可能的话,请解释从流下载图像
InputStream input = new java.net.URL(imageURL).openStream();
bitmap = BitmapFactory.decodeStream(input);
此:
InputStream input = new java.net.URL(imageURL).openStream();
创建到URL的连接。结果是一个流,可用于获取URL的内容。
此:
bitmap = BitmapFactory.decodeStream(input);
使用上述流中读取URL的内容,并使用它来创建位图,所以这是“下载”发生。请记住,这并不意味着图像实际上保存在内部存储器或SD卡上。这只是在记忆中。
所以你说它的第二行,下载发生。它与我的问题的评论矛盾 –
我很确定没有数据传输在第一行完成。一个流只是打开,没有数据被提取。 –
正在开放一个昂贵的过程,事情是我只想下载一些条件。 –
试试这个获取和保存。
你也可以用伊斯利通用图像加载库或毕加索 https://github.com/nostra13/Android-Universal-Image-Loader http://square.github.io/picasso/
网址URL =新的URL工作( “....你的网站......”);
InputStream input = null;
FileOutputStream output = null;
try {
String outputName = "thumbnail.jpg";
input = url.openConnection().getInputStream();
output = c.openFileOutput(outputName, Context.MODE_PRIVATE);
int read;
byte[] data = new byte[1024];
while ((read = input.read(data)) != -1)
output.write(data, 0, read);
return outputName;
} finally {
if (output != null)
output.close();
if (input != null)
input.close();
}
我没问过如何下载图片或下载图片的方法 –
它发生在第一行。 –