java.lang.OutOfMemoryError:无法分配带有2232360个空闲字节的12559948字节分配和2MB直到OOM

时间:2018-02-06 10:47:10

标签: java android image

实际上,我正在尝试使用包含图像的多媒体文件创建应用。当我在面临问题的任何设备上加载应用程序时,应用程序在进程中间崩溃并出现错误“

  

java.lang.OutOfMemoryError:无法分配12559948字节   分配2232360个空闲字节和2MB直到OOM“

我还在我的清单中声明了这些代码:

<application
    android:name=".AppHelper.AppController"
    android:allowBackup="true"
    android:icon="@drawable/ring_logo"
    android:label="@string/app_name"
    android:hardwareAccelerated="false"
    android:largeHeap="true"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

1 个答案:

答案 0 :(得分:0)

通常将高分辨率图像放在错误的drawable文件夹中。 例如,您有一个分辨率和密度很高的图像(假设为640dpi),并将其放在drawble文件夹而不是drawable-xxxhdpi文件夹中。当应用程序在高分辨率设备上运行时,系统将尝试根据设备的分辨率放大该图像。生成的图像将占用更多内存,并且在使用应用程序一段时间后将抛出OutOfMemory异常。所以你应该为每个可能的密度(dpi,hdpi,xdpi,xxdpi,xxxdpi)创建图像,或者将你的高分辨率图像放在drawable-xxxhdpi中。系统将自动缩小以降低密度。