实际上,我正在尝试使用包含图像的多媒体文件创建应用。当我在面临问题的任何设备上加载应用程序时,应用程序在进程中间崩溃并出现错误“
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">
答案 0 :(得分:0)
通常将高分辨率图像放在错误的drawable
文件夹中。
例如,您有一个分辨率和密度很高的图像(假设为640dpi),并将其放在drawble
文件夹而不是drawable-xxxhdpi
文件夹中。当应用程序在高分辨率设备上运行时,系统将尝试根据设备的分辨率放大该图像。生成的图像将占用更多内存,并且在使用应用程序一段时间后将抛出OutOfMemory
异常。所以你应该为每个可能的密度(dpi,hdpi,xdpi,xxdpi,xxxdpi)创建图像,或者将你的高分辨率图像放在drawable-xxxhdpi中。系统将自动缩小以降低密度。