android-大图像导致应用崩溃

问题描述:

我正在使用平板电脑应用。我试图使用Layout.setBackgroundResource(ResId)作为背景设置高分辨率(2223x3553)图像。在Nexus 7上测试时,应用程序崩溃了,我不会粘贴堆栈跟踪,因为在LogCat中存在大约300条红线的8或9个例外,我花了一段时间才弄清楚原因。当我注意到OutOfMemoryException后,我知道了,使用1280x800图像的应用程序运行良好,但一些质量损失发生,因为这些图像被设计为高分辨率。android-大图像导致应用崩溃

问题:如何处理Android中的高分辨率图像以防止这样的崩溃?所有图片均为本地和存储在drawable文件夹

+0

仅供参考此高度和宽度的位图将需要约30兆字节的Java堆。 – Blackbelt 2013-02-21 09:35:37

+0

@ Maver1ck检查Pragnani答案... – 2013-02-21 09:40:50

+0

@ Maver1ck你有没有试过教程,你需要计算样本大小和基于你需要加载图像请检查教程... – Pragnani 2013-02-21 09:42:28

你必须使用,我在这样一个使用案例已经使用相同的库,

This project将帮助你在你还。因为您需要在显示图像时压缩图像,并且如果最终需要使用延迟加载功能。

图像大小在android开发中受到限制。您不能使用比规定图像更大的图像。有关于如何为您的应用程序选择图像的指导原则。这是指南的link