我在我的android应用程序中有一个图库,当我点击图库项目时,我想显示图像和网格视图。我做的时候,我只有三个图像在画廊中,并在点击它显示正确。但是现在我在图库中有七个图像,每个图库项目有四个图像来显示gallery.In,我使用了可编辑图像的数组only.In,这一次我得到了一个作为Java.lang.OutOfMemory的异常
我使用下面的代码
public ImageThemeAdapter(Context c, Integer[] mImageIds) {
imagesId=mImageIds;
bitmap=new Bitmap[imagesId.length];
mContext = c;
TypedArray ta=obtainStyledAttributes(R.styleable.Gallery1);
imageBackground=ta.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 1);
ta.recycle();
for (int i = 0; i <imagesId.length; i++) {
bitmap[i]=BitmapFactory.decodeResource(mContext.getResources(),imagesId[i]);
}
}
public int getCount() {
return bitmap.length;
}
public Object getItem(int position) {
return bitmap[position];
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(mContext);
i.setImageBitmap(bitmap[position]);
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setLayoutParams(new Gallery.LayoutParams(130, 120));
// i.setLayoutParams(new Gallery.LayoutParams((ScreenWidth*80)/100, android.view.ViewGroup.LayoutParams.WRAP_CONTENT));
i.setBackgroundResource(imageBackground);
return i;
}
请提供任何建议。提前谢谢。我有一个这样的需求
发布于 2012-07-23 20:58:41
请重复使用分配跟踪器的步骤(Windows ->显示查看->其他->安卓->分配跟踪器),并找出不同对象的内存分配。
主要原因可能是由于在创建GridView时自定义视图的布局,并且在运行时您将创建图库图像的缩略图。我们可能不得不创建一个一次只有最少可用图像的网格视图。
https://stackoverflow.com/questions/11612795
复制相似问题