KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In my application I load a couple of images from JPEG and PNG files. When I place all those files into assets directory and load it in this way, everything is ok: InputStream stream = getAssets().open(path); Bitmap bitmap = BitmapFactory.decodeStream(stream, null, null); stream.close(); return new BitmapDrawable(bitmap); But when I try to load the exact same images from sd card, I get an OutOfMemory exception! InputStream stream = new FileInputStream("/mnt/sdcard/mydata/" + path); Bitmap bitmap = BitmapFactory.decodeStream(stream, null, null); stream.close(); return new BitmapDrawable(bitmap); This is what I get in the log: 11-05 00:53:31.003: ERROR/dalvikvm-heap(13183): 827200-byte external allocation too large for this process. 11-05 00:53:31.003: ERROR/GraphicsJNI(13183): VM won't let us allocate 827200 bytes ... 11-05 00:53:31.053: ERROR/AndroidRuntime(13183): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget 11-05 00:53:31.053: ERROR/AndroidRuntime(13183): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) ... Why can this happen? UPDATE: Tried both of these on real device - it seems that I can't load more than 12MB of bitmaps into whatever is called "external memory" (this is not an sd card).
Tags (comma-separated)
Save Edits
Cancel