Я использую gridView, который отображает изображения, загруженные из папки assests.улучшить прокрутку перфорации gridview
gridview отображает более 50 изображений из активов, но производительность этого gridview очень бедна и имеет задержки прокрутки.
Образец кода:
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.ameme);
GridView myGallery = (GridView) findViewById(R.id.gridView1);
mBitArray = new Bitmap[5];
//This is just a sample code
try
{
//these images are stored in the root of "assets"
mBitArray[0] = getBitmapFromAsset("AM0.jpg");
mBitArray[1] = getBitmapFromAsset("AM1.jpg");
mBitArray[2] = getBitmapFromAsset("AM2.jpg");
mBitArray[3] = getBitmapFromAsset("AM3.jpg");
mBitArray[4] = getBitmapFromAsset("AM4.jpg");
}
catch (IOException e)
{
e.printStackTrace();
}
myGallery.setAdapter(new GalleryAdapter(this, mBitArray));
}
public class GalleryAdapter extends BaseAdapter
{
private Context mContext;
private Bitmap[] mImageArray;
public GalleryAdapter(Context context, Bitmap[] imgArray)
{
mContext = context;
mImageArray = imgArray;
}
public int getCount()
{
return mImageArray.length;
}
public Object getItem(int position)
{
return position;
}
public long getItemId(int position)
{
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
final ImageView imgView = new ImageView(mContext);
imgView.setImageBitmap(mImageArray[position]);
final RelativeLayout borderImg = new RelativeLayout(mContext);
borderImg.setPadding(8, 8, 8, 8);
borderImg.setGravity(Gravity.CENTER | Gravity.BOTTOM);
borderImg.setBackgroundColor(Color.rgb(7,35,63));
borderImg.addView(imgView);
imgView.setLayoutParams(new RelativeLayout.LayoutParams(100,100));
return borderImg;
}
}
private Bitmap getBitmapFromAsset(String strName) throws IOException
{
AssetManager assetManager = getAssets();
InputStream istr = assetManager.open(strName);
Bitmap bitmap = BitmapFactory.decodeStream(istr);
istr.close();
return bitmap;
}
}
Как сделать прокрутку gridView()
гладкой?
Начните с переработки ваших ячеек, не игнорируя 'convertView' в' getView() '. Помимо этого, используйте Traceview, чтобы определить, где находится ваша проблема. – CommonsWare
Я начинаю. Как это сделать? –