從下面兩行中,實際下載發生在哪一行?如果可能的話,請解釋從流下載圖像
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();
}
我沒問過如何下載圖片或下載圖片的方法 –
它發生在第一行。 –