This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Android and the fly likes load a jpg image from bytearray Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Mobile » Android
Bookmark "load a jpg image from bytearray" Watch "load a jpg image from bytearray" New topic
Author

load a jpg image from bytearray

swapna nyathani
Greenhorn

Joined: Mar 16, 2006
Posts: 21
Hi,


I am trying to load a png image file from a byte array(from stream) and got this error :

01-09 12:01:24.664: E/AndroidRuntime(14031): java.lang.OutOfMemoryError
01-09 12:01:24.664: E/AndroidRuntime(14031): at java.io.ByteArrayOutputStream.expand(ByteArrayOutputStream.java:91)
01-09 12:01:24.664: E/AndroidRuntime(14031): at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:201)


My code is :
ByteArrayOutputStream out = new ByteArrayOutputStream(ByteWritten);
byte[] actual_bytes = new byte[1024];
long count = 1024;
long off = 0;

while((actual_bytes = solstream.readWithSeek(off,count))!=null) // this is virtual space stream where the image file is stored
{
off=off+actual_bytes.length;
out.write(actual_bytes,0,actual_bytes.length);
}

out.flush();
out.close();

byte[] final_ba = out.toByteArray();

bitmap = BitmapFactory.decodeByteArray(final_ba,0,final_ba.length);


image = (ImageView) findViewById(R.id.rtimageView);
image.setImageBitmap(bitmap);



Thanks in advance.
Swapna.

swapna
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41128
    
  45
How big is the image? Does the exception occur during the toByteArray() call?


Ping & DNS - my free Android networking tools app
swapna nyathani
Greenhorn

Joined: Mar 16, 2006
Posts: 21
Hi,

Image details:

Dimensions: 250*158
Horizontal resolution: 72 dpi
Horizontal resolution: 72 dpi

size on disk: 24 kb


Exception occurs at this line
"out.write(actual_bytes,0,actual_bytes.length); "


Swapna.

Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41128
    
  45
That's a small image. Have your tried adding up and logging the number of bytes you're reading from the image (in effect logging the value of "off" at each loop iteration)? After how many bytes does the OOME occur?
swapna nyathani
Greenhorn

Joined: Mar 16, 2006
Posts: 21
Hi,

01-10 06:36:21.008: E/dalvikvm-heap(1386): Out of memory on a 25133072-byte allocation.





 
jQuery in Action, 2nd edition
 
subject: load a jpg image from bytearray
 
Similar Threads
Class Loading from a file
Display a database BLOB in a jsp
external allocation too large for this process,Error inflating class, bitmap size exceeds VM budget
how to transfer images to ftp server in android
OutOfMemoryError... Whats the solution?