2015-06-04 110 views
-2

请在解决我这个内存溢出异常,因为我无法去解决它帮助,任何帮助将不胜感激,Android的出内存异常

06-04 12:11:44.119: E/AndroidRuntime(9090): FATAL EXCEPTION: main 
06-04 12:11:44.119: E/AndroidRuntime(9090): Process: com.zar.bdr, PID: 9090 
06-04 12:11:44.119: E/AndroidRuntime(9090): java.lang.OutOfMemoryError 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:594) 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:429) 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840) 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.content.res.Resources.loadDrawable(Resources.java:2113) 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.content.res.Resources.getDrawable(Resources.java:700) 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176) 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:937) 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877) 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.content.res.Resources.loadDrawable(Resources.java:2095) 
06-04 12:11:44.119: E/AndroidRuntime(9090):  at android.content.res.TypedArray.getDrawable(TypedArray.java:602) 
+0

你必须显示你的代码为'OME'可能会出于不同的原因 – hrskrs

+1

可能的重复[将图像加载到Bitmap对象时出现内存不足的问题](http://stackoverflow.com/questions/477572/奇怪的内存不足问题,而加载图像到位图对象) – user2450263

+0

您是否将图像转换为位图大文件或大量的文件? – Amsheer

回答

1

解决方案1:您可以使用android:largeHeap="true"活动的清单来请求更大的堆大小,但这不适用于任何预先蜂窝设备。

解决方案2:使用的图像加载库一样,

Universal Image Loader

这需要加载一个大的图像文件的所有头痛,还支持像缓存和转换一些额外的功能。

+0

请注意,使用android:largeHeap =“true”只是一个bandaid解决方案。根据我的经验,OutOfMemoryExceptions是由于在应用程序的其他位置泄漏内存而引起的,它只是在这里显示。您可以使用像LeakCanary这样的库在泄漏活动时提醒您,Android Studio的内存监视器可以监视您正在使用的内存量。 – eliasbagley