This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach 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 Murach's Java Servlets and JSP this week in the Servlets 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: 41060
    
  43
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: 41060
    
  43
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.





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