wood burning stoves 2.0*
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 OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP 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: 42370
    
  64
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: 42370
    
  64
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.





 
wood burning stoves
 
subject: load a jpg image from bytearray