10

重複の可能性:
Android-ListViewで画像の遅延読み込みを行うにはどうすればよいですか?

良い一日、私はテキスト、画像、評価バーを使ってリストビューを行いました。私はすでに行ったものを使用してこれらの情報を取得しksoap、それは魅力のように機能します!

問題があります。前述したように、リストビュー内に画像があります。写真を削除しなかった場合はそうなりますがlaggy/slow response、画像を削除すると、テキストビューだけで再び滑らかになります。と評価バー。

画像を含めたい場合のラグの解決方法。例が必要かどうか教えてください。android.apkを投稿します。これに対する解決策があることを願っています。リストビューの画像のコードの下:

String s = strTitle[position];      
System.out.println(s);      
String image_URL = imageURL[position];      
BitmapFactory.Options bmOptions;
bmOptions = new BitmapFactory.Options();
bmOptions.inSampleSize = 1;
Bitmap bm = LoadImage(image_URL, bmOptions);
ivLogo.setImageBitmap(bm);              
return rowView;

private Bitmap LoadImage(String URL, BitmapFactory.Options options)
{
    Bitmap bitmap = null;
    InputStream in = null;       
    try {
        in = OpenHttpConnection(URL);
        bitmap = BitmapFactory.decodeStream(in, null, options);
        in.close();
    } catch (IOException e1) {  }
    return bitmap;               
}

private InputStream OpenHttpConnection(String strURL) throws IOException{
    InputStream inputStream = null;
    URL url = new URL(strURL);
    URLConnection conn = url.openConnection();

    try{
        HttpURLConnection httpConn = (HttpURLConnection)conn;
        httpConn.setRequestMethod("GET");
        httpConn.connect();

        if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) 
        {
            inputStream = httpConn.getInputStream();
        }
    }
    catch (Exception ex){    }
    return inputStream;
}
4

1 に答える 1

6

LazyLaoding の概念を利用する必要があります。ここでは、外出先で画像をダウンロードしようとしていますが、これがリストビューを遅くしている原因です。

ここにリンクがあります、

ListView での画像の遅延ロード

怠惰なロードについての大きな議論を見つけることができ、最も有名な概念であるこの答えを見ることができます。

https://stackoverflow.com/a/3068012/603744

編集1

これについては、無限のアダプターも参照してください。これがサンプルです。

Android エンドレス リスト

https://github.com/commonsguy/cwac-endless

于 2012-05-24T10:58:47.113 に答える