Android 某些设备内存不足错误

Android 某些设备内存不足错误,android,android-layout,android-studio,out-of-memory,Android,Android Layout,Android Studio,Out Of Memory,在我的应用程序中,我有一个布局,我为它的根视图设置了背景(相对布局) 当我在我的手机(xpreia z)、nexus 5 emulator或平板电脑模拟器上测试应用程序时,一切正常,但在nexus s emulator nexus、nexus 4 emulator和。。。停止时出现内存不足错误。 设置为背景的图像大小仅为1.4米 1-如果每个应用程序的堆大小几乎为12m 为什么我的应用程序只有一个1.4m大小的图像,代码和库很少,会产生内存不足错误 2-我应该如何避免此错误,并确保我的应用程序在

在我的应用程序中,我有一个布局,我为它的根视图设置了背景(相对布局)

当我在我的手机(xpreia z)、nexus 5 emulator或平板电脑模拟器上测试应用程序时,一切正常,但在nexus s emulator nexus、nexus 4 emulator和。。。停止时出现内存不足错误。 设置为背景的图像大小仅为1.4米

1-如果每个应用程序的堆大小几乎为12m 为什么我的应用程序只有一个1.4m大小的图像,代码和库很少,会产生内存不足错误

2-我应该如何避免此错误,并确保我的应用程序在所有设备上运行时不会出现内存不足错误


感谢并抱歉我的英语不好。

这主要是由于加载了大量图像文件,这些文件会溢出Android分配的应用程序内存。通常建议将按比例缩小的版本加载到内存中,并从缓存中重新使用


Android官方网站上有一个非常好的代码示例。

请记住,这里重要的是未压缩的大小,而不是压缩的大小。将图像缩小到更好的大小

考虑每像素位,如果您的背景是24位图像文件(RGB),例如,如果您的图像是100万像素,则需要24位*1000000的内存

1920*1080px图像=约200万像素


内存中的24位*2M=6MB

可能是密度问题吗?可能设备正在缩放图像并达到
oom
    android:background="@drawable/paris"