2016-07-15 117 views
-1
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" 

的清單,但它是一個沒有去。

+2

分享代碼。 – Pehlaj

+0

沒有代碼,只是一大堆xml上的可繪製對象 –

+0

請確保可繪製對象的質量不高 – Pehlaj

回答

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

相關問題