-2

please help in solving me this out of memory exception as i am unable to solve it, any help would be greatly appreciated,

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)
Warren Sergent
  • 2,542
  • 4
  • 36
  • 42
Reprator
  • 2,859
  • 2
  • 32
  • 55

1 Answers1

1

Solution 1: You can use android:largeHeap="true"in activity's manifest to request a larger heap size, but this will not work on any pre Honeycomb devices.

Solution 2: Use an Image Loader library like,

Universal Image Loader

Which takes all the headache of loading a large image file, also supports some additional feature like caching and converting.

Prokash Sarkar
  • 11,723
  • 1
  • 37
  • 50
  • Please note that using android:largeHeap="true" is just a bandaid solution. In my experience, OutOfMemoryExceptions are due to leaking memory somewhere else in the app, and it's just manifesting itself here. You can use a library like LeakCanary to alert you when leaking an activity, and Android Studio's memory monitors to keep an eye on how much memory you're using. – eliasbagley Apr 05 '16 at 00:03