For my current application I collect images from different \"event providers\" in Spain.
Bitmap bmp=null;
HttpGet httpRequest = new HttpGet(strURL);
l
HttpURLConnection hConn = null;
hConn = openHttpConnection(szUrl);
hConn.setRequestMethod("GET");
hConn.setRequestProperty("User-Agent",szUserAgent);
hConn.setRequestProperty("Accept",szAccept);
hConn.setRequestProperty("Accept-Charset",szCharset);
hConn.setInstanceFollowRedirects(true);
hConn.setUseCaches(true);
hConn.setChunkedStreamingMode(8*1024);
hConn.setDoInput(true);
hConn.setConnectTimeout(60*1000);
hConn.setReadTimeout(60*1000);
hConn.connect();
InputStream bmpIs = hConn.getInputStream();
BufferedInputStream bmpBis = new BufferedInputStream(bmpIs);
Bitmap bmpThumb = null;
BitmapFactory.Options bfOpt = new BitmapFactory.Options();
bfOpt.inScaled = true;
bfOpt.inSampleSize = 2;
bfOpt.inPurgeable = true;
bmpThumb = BitmapFactory.decodeStream(bmpBis,null,bfOpt);
if(bmpThumb == null)
{
for(int i=0; i<10; i++)
{
Thread.sleep(200);
System.gc();
bmpThumb = BitmapFactory.decodeStream(bmpBis,null,bfOpt);
if(bmpThumb == null)
bfOpt.inSampleSize += 1;
else
break;
}
}