我从android资源文件夹访问图像。 我正在使用asynctask来加载图片。
第一次使用分辨率为1024 * 768的图像时,应用程序会打开,并且逐个图像会显示在imageview中。
第二次, 对于实验,我使用带有resoltion 1920 * 1080的图像,应用程序给出运行时错误并强制关闭。 图像分辨率为1280 * 720也是如此。
但它实际上以1024 * 768分辨率运行 为什么会这样?????
我没有发布代码因为它似乎没有编程问题。
答案 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
到其他对象。看看