【问题标题】:java.lang.OutOfMemoryError: Failed to allocate a 12559948 byte allocation with 2232360 free bytes and 2MB until OOM [duplicate]java.lang.OutOfMemoryError:无法分配 12559948 字节分配,2232360 可用字节和 2MB 直到 OOM [重复]
【发布时间】:2018-07-16 09:44:07
【问题描述】:

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

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">

【问题讨论】:

标签: java android image


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2018-01-29
    • 2018-06-29
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多