3

I have like 100+ images(frames) in my drawables and each of them are 1-5 kbs size (with resolution 480 x 272). now when I add these images (frames) in animation-list xml and try to run it, I get this OutOfMemory error, I have searched on internet but couldn't find what I am looking for. so anyone can please tell me what should I do to overcome this error

8
  • Use lazyLoader to display large size image Commented Oct 30, 2013 at 5:59
  • how can i use lazyloader in xml? i cant use lazyloader as i want these pictures to be in animation-list Commented Oct 30, 2013 at 6:00
  • load scaled down images into memory Commented Oct 30, 2013 at 6:00
  • see here developer.android.com/training/displaying-bitmaps/index.html Commented Oct 30, 2013 at 6:02
  • or you can display by creating a handler Commented Oct 30, 2013 at 6:03

1 Answer 1

5

Read Article

Do one thing in the manifest.xml

 <application

    android:largeHeap="true">

</application>

Or

make call the Animation in runOnUiThread (Runnable action) or AsyncTask

Or

Single Image need memory:

In this case you have 100 images and dimensions are 400*262.

So , 100 * 400*262*4 = ? KB , size occur during the loading time. If the animation is exceeding the limit of Virtual Heap Memory.

Error will occur defiantly.

For this :

Reduce the dimensions of Image

Or

use less images for the animation

or

split into two animation file after one completion start another one

EDITED on 16th June 2015

Try to use Handler and call Handler after few millisecond. It will also reduce the memory issue(OOM).

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.