我在ViewPager.
显示图像显示的图像占用了大量空间。在显示少量图像后,它会抛出java.lang.outofMemoryError: Bitmap size exceeds VM bugdet.
有关可能出现的问题的任何建议?
public Object instantiateItem(View pager, int position) {
LayoutInflater inflater = (LayoutInflater) pager.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.fotopager_buttons, null);
TextView text = ((TextView) view.findViewById(R.id.textView1));
text.setText(Global.totalpaging_titlearray[position]);
TextView textprice = ((TextView) view.findViewById(R.id.textprice));
textprice.setText("SAR " + Global.totalpaging_pricearray[position]);
TextView textdesc = ((TextView) view.findViewById(R.id.textdescription));
textdesc.setText(Global.totalpaging_descarray[position]);
ImageView imageView1 = ((ImageView) view.findViewById(R.id.image));
bimage = getBitmapFromURL(Global.totalpaging_array[position]);
imageView1.setImageBitmap(bimage);
((ViewPager) pager).addView(view);
return view;
}
答案 0 :(得分:0)
据我所知,您正在查看寻呼机的页面上显示图像。您的查看寻呼机持有多少页?
如果一个页面中的位图超出VM预算,请考虑调整位图大小或解码为低内存颜色格式,如RGB565或ARGB444。
如果没有代码,则无法确定您是否正确地实例化了视图寻呼机的页面。您可以发布PagerAdapter类instantiateItem(View view, int position)
方法的代码吗?
答案 1 :(得分:0)
在图像非常大之前,您会遇到此问题。它们是非常高分辨率的图像,因此具有非常大的尺寸。尝试使用任何软件如photoshop减小这些图像的大小或分辨率。