2011-12-21 78 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

圖像網格是一個更好的主意顯示從遠程連接的多個圖像時......我可以幫助ü在網格視圖 – 2011-12-21 05:35:46

+0

可以在圖像柵格獲得相同,而屏幕上的手指移動畫廊的效果? – brian 2011-12-21 05:48:23

+1

這是它的樣子:http://developer.android.com/resources/tutorials/views/images/hello-gridview.png – 2011-12-21 05:52:38

回答

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); 
    } 
} 

也許你可以試試這個。