ImageView无法显示高分辨率图像

时间:2014-10-04 19:41:04

标签: android image imageview

我从android资源文件夹访问图像。 我正在使用asynctask来加载图片。

第一次使用分辨率为1024 * 768的图像时,应用程序会打开,并且逐个图像会显示在imageview中。

第二次, 对于实验,我使用带有resoltion 1920 * 1080的图像,应用程序给出运行时错误并强制关闭。 图像分辨率为1280 * 720也是如此。

但它实际上以1024 * 768分辨率运行 为什么会这样?????

我没有发布代码因为它似乎没有编程问题。

1 个答案:

答案 0 :(得分:2)

由于您的图片尺寸较大,您只需Out Of Memory exception,请考虑以下计算:

为了显示ARGB_8888中的每个像素,我们使用4个字节,所以:

your first  image: 1024 * 768 * 4 = 2MB 
your second image: 1920 * 1080* 4 = 6MB
your third  image: 1280 * 720 * 4 = 3MB

我不知道您加载到RAM的图片数量有多少,但您的RAM数量有限且至少为16MB,因此对于其他4-5张图片,您将不会RAM到其他对象。看看

Loading Large Bitmaps Efficiently解决您的问题。