2011-12-21 11 views
1

ギャラリーを使用してネットワーク内の画像を表示しようとしています。 しかし、左または右に曲がり画像を変えるとき。 イメージは毎回ネットワークからのロードに約3秒の遅延を示します。 この画像が表示されているときに、次の画像をバックグラウンドで読み込むことができます。 読み込まれたイメージをすべてキャッシュに保存しますが、メモリ不足の可能性があります。 次のように私のコード:ギャラリーが遅れると画像が切り替わる

gallery = (MyGallery) this.findViewById(R.id.gallery_photo); 
gallery.setAdapter(new GalleryViewerAdapter(this, URL)); 

URLは、URLの文字列配列です。

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
ImageView iv = new ImageView(this.mContext); 
try { 
URL aryURL = new URL(URL[i]); 
URLConnection conn = aryURL.openConnection(); 
conn.connect(); 
InputStream is = conn.getInputStream(); 
Bitmap bm = BitmapFactory.decodeStream(is); 
is.close(); 
iv.setImageBitmap(bm); 
iv.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
return iv; 
} 

コードを変更すると、毎回負荷と遅延を避けることができますか?

+1

画像グリッドは、私は、画面上で指を移動しながらのギャラリーと同じ効果を得るグリッドビュー –

+0

月の画像グリッド内のuを助けることができる...良いアイデアですか? – brian

+1

これは、それがどのように見えるかです:http://developer.android.com/resources/tutorials/views/images/hello-gridview.png –

答えて

1
public class MyGallery extends Gallery { 
    public MyGallery(Context context, AttributeSet attrSet) { 
     super(context, attrSet); 
    } 

    @Override 
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { 
     return false; 
    } 

    @Override 
    protected android.view.ViewGroup.LayoutParams generateLayoutParams (android.view.ViewGroup.LayoutParams p) { 
     return super.generateLayoutParams(p); 
    } 
} 

多分これを試すことができます。リモート接続から複数の画像を表示するときに

関連する問題