0

AQueryを使用して URL 経由で画像の読み込みを設定し、画像を ListView の ImageViews に設定しました。ただし、画像をスクロールするたびに画像が更新され、再読み込みされます。基本的に、一度画像を表示してから下にスクロールしてから上にスクロールすると、ImageViews が画像によって再作成されるため、エクスペリエンスにとって非常に不便です。

Instagram または Facebook: 画像が読み込まれると、画像はそのまま残り、同じ画像をスクロールしても ImageView は画像をリロードしません。私はそれが適切にキャッシュされていると信じていました。ListView の ImageView のキャッシュを設定するにはどうすればよいですか?

ここに私のアダプターコードがあります:

AQuery aq;

public FeedAdapter(Activity a, ArrayList<ActivityTable> actList) {

    activity = a;
    inflater = (LayoutInflater) activity
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    this.actList = actList;
}

public View getView(int position, View convertView, ViewGroup parent) {

    View vi = convertView;
    final ActivityTable act = actList.get(position);
    aq = new AQuery(activity);

    holder.media = (ImageView) vi.findViewById(R.id.postphoto);

    try {
        aq.id(holder.media)
                .progress(R.id.progress)
                .image(act.getMediaURL(), false, true, 800,
                        R.mipmap.image_placeholder, preset,
                        AQuery.FADE_IN_FILE);
    } catch (Exception ex) {
    }
}
4

1 に答える 1

1

私はすでにキャッシュを維持し、必要に応じて適切な aquery を使用した Aquery ライブラリでこのことを試しましたが、instagram について語ったように、最後の画像を更新できるように、画像ごとに異なる URL を使用する必要があります。私が知っているように:-これは、Androidクエリが画像のURLをチェックするためです。異なる場合は新しい画像を更新し、そうでない場合はキャッシュからビットマップを取得します。

ライブラリには多くのオプションがあります。ありがとう

于 2015-08-27T05:53:54.617 に答える