2011-01-17 11 views
1

これは私が私の爪をかむようにしました。 私は画像URLをXMLからarraylistに解析しました。画像をテーブルレイアウトでテキストとともに表示しています。私は画像を表示するためのアクティビティで次のコードを使用しています:イメージビューで画像を表示する際のエラー

ビットマップbm = DownloadImage(piciterator.next()。toString());
icon.setImageBitmap(bm);

ここでpiciterはURLを含むarraylistです。

プライベートビットマップDownloadImage(文字列のURL)
{

Bitmap bitmap = null; 
    InputStream in = null; 

    try { 
     in = OpenHttpConnection(URL); 

     bitmap = BitmapFactory.decodeStream(in); 
     in.close(); 
    } catch (IOException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
    return bitmap;     
} 

そして、これはOpenHttpConnection機能である:ここで

はDownloadImage機能です

プライベートのInputStream OpenHttpConnection(文字列urlString) は、IOExceptionがスローされます

{ 
    InputStream in = null; 
    int response = -1; 

    URL url = new URL(urlString); 
    URLConnection conn = url.openConnection(); 

    if (!(conn instanceof HttpURLConnection))      
     throw new IOException("Not an HTTP connection"); 

    try{ 
     HttpURLConnection httpConn = (HttpURLConnection) conn; 
     httpConn.setAllowUserInteraction(false); 
     httpConn.setInstanceFollowRedirects(true); 
     httpConn.setRequestMethod("GET"); 
     httpConn.connect(); 

     response = httpConn.getResponseCode();     
     if (response == HttpURLConnection.HTTP_OK) { 
      in = httpConn.getInputStream();         
     }      
    } 
    catch (Exception ex) 
    { 
     throw new IOException("Error connecting");    
    } 
    return in;  
} 

デバッグでは、私はブラウザ上のいくつかの画像を取得することができます。しかし、arraylistの23番目の要素の後では、画像はブラウザ上で開きますが、アプリケーションはステップに入ります:

bitmap = BitmapFactory.decodeStream(in);

ブラウザに表示される画像は他の画像よりもはるかに小さくなりますが、それほど小さくありません。

アプリケーションは試しにも行きません。それはちょうどクラッシュします。

この点についてのヘルプは、本当に魅力的です。

+0

DroidFuのWebImageViewを使用しない理由:http://brainflush.wordpress.com/2009/11/23/droid-fu-part-2-webimageview-and-webgalleryadapter/ – Macarse

答えて

1

それだけで潜在的なメモリ不足の問題にスタックトレースのヒントを印刷せずにクラッシュしているという事実。

IIRC、Androidアプリは16MBに制限されています。画像の合計サイズがこの制限を超えているかどうか確認しましたか?

0

ネットワーク接続では常にThreadを使用してください。

ここにドキュメントがあります。

Painless Treading

関連する問題