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
Asked
Active
Viewed 3,259 times
3
-
Use lazyLoader to display large size image – Himanshu Joshi Oct 30 '13 at 05:59
-
how can i use lazyloader in xml? i cant use lazyloader as i want these pictures to be in animation-list – awaistoor Oct 30 '13 at 06:00
-
load scaled down images into memory – Gopal Gopi Oct 30 '13 at 06:00
-
see here http://developer.android.com/training/displaying-bitmaps/index.html – Gopal Gopi Oct 30 '13 at 06:02
-
or you can display by creating a handler – Himanshu Joshi Oct 30 '13 at 06:03
-
Are you using only One Animation or more than one Animation – Akarsh M Oct 30 '13 at 06:09
-
Handler will help you to load all the animation not resolve the problem about OutOfMemory error. If am I right else suggest me @Droid – Akarsh M Oct 30 '13 at 06:24
-
Load image sequentially , please refer http://stackoverflow.com/a/10993879/774305 . – vin Sep 24 '14 at 06:59
1 Answers
5
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).

Akarsh M
- 1,629
- 2
- 24
- 47