java.lang.OutOfMemoryError,app不在模拟器上运行

时间:2016-07-15 14:21:29

标签: java android out-of-memory

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)

在我的平板电脑上完美运行,但在模拟器上出现此错误。有什么想法吗?

我尝试过添加

android:largeHeap="true"

到清单但是不行。

1 个答案:

答案 0 :(得分:0)

好的,所以这里有相同的细节, 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