Reputation: 3908
My app is running properly on some Android devices but on some devices it's giving an out of memory error.
Here is the LogCat log:
http://logcat.miui-dev.com/147001
What this Activity does is load Bitmaps, and display those Bitmaps through onDraw()
.
What would cause this error?
what am doing ?
Am just maping all images in a method image
_bitmapCache.put(R.drawable.gb2, BitmapFactory.decodeResource( getResources(), R.drawable.gb2));
and when a constructor is called i call that method , while using image i just use
canvas.drawBitmap(_bitmapCache.get(R.drawable.level1c1), 0, 0, null);
to craw the image
Upvotes: 0
Views: 745
Reputation: 9945
You have to specify in the Options of BitmapFactory a inSampleSize that will allow to directly load a scaled down version of the Bitmap.
Upvotes: 1
Reputation: 10479
It looks like you are requesting an 18 meg image. You need to scale your images way down. Each app is only allowed 16-24megs of heap space. I'd have to see more of your code to make further suggestions, but an 18 meg image is really too large and the ImageView doesn't do the best job of automatically scaling the images, so you usually have to do the scaling before display in my experience.
Upvotes: 1