我已经尝试过了
<application
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
仍然出现以下错误:
java.lang.OutOfMemoryError: Failed to allocate a 552960012 byte allocation with 16777216 free bytes and 262MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
我正在使用gridView并将适配器中包含可绘制对象的resourceId的整数数组,但是可绘制数组中的一些高分辨率图像导致了此问题。
答案 0 :(得分:0)
尝试在android {...}的build.gradle(Module:app)中添加以下代码,这将对您有所帮助,否则在图像加载时会降低质量。
dexOptions {
javaMaxHeapSize "2g"
}
答案 1 :(得分:0)
答案 2 :(得分:0)
答案 3 :(得分:0)
您必须将可绘制图像的高分辨率转换为:drawable-xxhdpi
。
并在android:largeHeap="true"
上添加androidManifest.xml
我已经使用此方法解决了内存不足的问题