インターネットから画像をダウンロードするのに問題があります。問題は、画像が互いにダウンロードされていることです。プログラムがandroid<=2.2で実行されているときに問題が発生します。ダウンロードは解像度320x200の約50枚の画像です
コードフラグメント:
public class DownloadOfferImages extends AsyncTask<List<ImageOfferData>, Bitmap, Void> {
private InputStream inputStream;
private BufferedInputStream buffer;
@Override
protected Void doInBackground(List<ImageOfferData>... offer) {
for(int i = 0 ; !isInteruppted() && i < offer[0].size() ; i++) {
if(offer[0].get(i).getImage() == null)
downloadImage(offer[0].get(i));
}
return null;
}
private void downloadImage(ImageOfferData offerData) {
try {
download(offerData);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (OutOfMemoryError e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
closeStreams();
} catch (IOException e) {
e.printStackTrace();
}
}
}
private void download(ImageOfferData offerData) throws MalformedURLException, OutOfMemoryError, IOException {
URL imageUrl = new URL(offerData.getImageURL());
URLConnection connection = imageUrl.openConnection();
inputStream = connection.getInputStream();
buffer = new BufferedInputStream(inputStream);
Bitmap image = BitmapFactory.decodeStream(buffer);
buffer.close();
offerData.setImage(image);
publishProgress(image);
}
/*
* [rest of code]
*
*
* */
}