使用ImageView在android中的内存问题

时间:2015-11-25 15:08:03

标签: java android memory imageview

我对Android很新。我试图在ScrollView中显示一些ImageView。

final ImageView imageView1 = new ImageView (this);
imageView1.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView1.setImageResource(resourceId);
LinearLayout.LayoutParams lyp2 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, (int)(0*dp), 1.0f);
linearLayout.addView(imageView1, lyp2);

我的图片是766 * 1344像素和约300科。

尝试显示超过1个不同的图像时,我收到java.lang.OutOfMemoryError错误。使用相同图像的10倍可以正常工作。

我该怎么办?

谢谢,

1 个答案:

答案 0 :(得分:0)

如果要显示10张图像,则无需将图像的分辨率设置得那么高。它们可能显示得比分辨率小得多,因为它们都必须立即适合屏幕。诀窍是显示适合包含它的UI元素的图像的较低分辨率(按比例缩小)版本,然后仅在需要以该大小显示它时才加载完整的res图像。

阅读这些文档以获取更多信息:http://developer.android.com/training/displaying-bitmaps/load-bitmap.html