This week's book giveaway is in the Agile and other Processes forum.
We're giving away four copies of The Mikado Method and have Ola Ellnestam and Daniel Brolund 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
Register / Login


Win a copy of The Mikado Method this week in the Agile and other Processes forum!
JavaRanch » Java Forums » Mobile » Android
Reply 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: 20
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: 35241
    
    7
How big is the image? Does the exception occur during the toByteArray() call?


Android appsImageJ pluginsJava web charts
swapna nyathani
Greenhorn

Joined: Mar 16, 2006
Posts: 20
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: 35241
    
    7
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: 20
Hi,

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





 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: load a jpg image from bytearray
 
Similar Threads
external allocation too large for this process,Error inflating class, bitmap size exceeds VM budget
Display a database BLOB in a jsp
Class Loading from a file
OutOfMemoryError... Whats the solution?
how to transfer images to ftp server in android