java.lang.OutOfMemoryError,应用程序无法在模拟器上运行
问题描述:
java.lang.OutOfMemoryError: Failed to allocate a 2560012 byte allocation
with 1668568 free bytes and 1629KB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1080)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:2635)
at android.content.res.Resources.loadDrawable(Resources.java:2540)
在我的平板电脑上完美运行,但在模拟器上出现此错误。有任何想法吗?java.lang.OutOfMemoryError,应用程序无法在模拟器上运行
我曾尝试加入
android:largeHeap="true"
的清单,但它是一个没有去。
答
好了,所以这里是相同的细节, java.lang.OutOfMemoryError
public class OutOfMemoryError
extends VirtualMachineError
当Java虚拟机无法分配一个对象时抛出,因为它是内存不足,并没有更多的内存可由垃圾收集器提供。 OutOfMemoryError对象可以由虚拟机构造,就像抑制被禁用和/或堆栈跟踪不可写一样。 解决这些错误的方法: - 解决java中OutOfMemoryError的一个简单方法是通过使用JVM选项“-Xmx512M”来增加最大堆大小,这将立即解决您的OutOfMemoryError。 在Java中解决OutOfMemoryError的第二种方法相当困难,当您没有太多内存时,即使增加了最大堆大小后仍然得到java.lang.OutOfMemoryError,在这种情况下,您可能想要对应用程序进行配置文件并寻找任何内存泄漏。
了解更多:http://javarevisited.blogspot.com/2011/09/javalangoutofmemoryerror-permgen-space.html#ixzz4EUJfnfac
分享代码。 – Pehlaj
没有代码,只是一大堆xml上的可绘制对象 –
请确保可绘制对象的质量不高 – Pehlaj