[io] OutOfMemory exception in IOUtils.toByteArray

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[io] OutOfMemory exception in IOUtils.toByteArray

Zishan J.
Hello,
 
I am using Commons.io.IOUtils library in my android application. I have received this error:
 
Fatal Exception: java.lang.OutOfMemoryError
       at org.apache.commons.io.output.ByteArrayOutputStream.needNewBuffer
       at org.apache.commons.io.IOUtils.toByteArray
       at com.alhuda.qih.DownloadCompleteReceiver.onReceive
 
I have tried to catch with IOException but no luck. Is there any way to handle this exception, so I can show the user-friendly message instead of getting the application crashed?
 
Regards,
Zishan J.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [io] OutOfMemory exception in IOUtils.toByteArray

Julio Oliveira
Try to use Exception ( this is for all errors )

On Tue, Mar 8, 2016 at 9:50 AM, Zishan J. <[hidden email]> wrote:

> Hello,
>
> I am using Commons.io.IOUtils library in my android application. I have
> received this error:
>
> Fatal Exception: java.lang.OutOfMemoryError
>        at org.apache.commons.io.output.ByteArrayOutputStream.needNewBuffer
>        at org.apache.commons.io.IOUtils.toByteArray
>        at com.alhuda.qih.DownloadCompleteReceiver.onReceive
>
> I have tried to catch with IOException but no luck. Is there any way to
> handle this exception, so I can show the user-friendly message instead of
> getting the application crashed?
>
> Regards,
> Zishan J.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>


--
Saludos

Julio M. Oliveira - Buenos Aires
http://www.linkedin.com/in/juliomoliveira

Software PYMES - Open Source
http://www.javatango.com/ <http://www.linkedin.com/in/juliomoliveira>
Reply | Threaded
Open this post in threaded view
|

RE: [io] OutOfMemory exception in IOUtils.toByteArray

Andy Turner
You can try and catch the OutOfMemoryError:

try {
doSomething();
} catch (OutOfMemoryError e) {
Boolean a = true; // Stop the debugger here
}

To handle this really though you want a reserve bit of memory to release and have a way to swap some of your data used by your application from the fast access memory to another store (assuming you need it later, if not just delete all references to it and leave it to garbage collection).

HTH

Andy
http://www.geog.leeds.ac.uk/people/a.turner/index.html
 


-----Original Message-----
From: Julio Oliveira [mailto:[hidden email]]
Sent: 08 March 2016 13:00
To: Commons Users List <[hidden email]>
Subject: Re: [io] OutOfMemory exception in IOUtils.toByteArray

Try to use Exception ( this is for all errors )

On Tue, Mar 8, 2016 at 9:50 AM, Zishan J. <[hidden email]> wrote:

> Hello,
>
> I am using Commons.io.IOUtils library in my android application. I
> have received this error:
>
> Fatal Exception: java.lang.OutOfMemoryError
>        at org.apache.commons.io.output.ByteArrayOutputStream.needNewBuffer
>        at org.apache.commons.io.IOUtils.toByteArray
>        at com.alhuda.qih.DownloadCompleteReceiver.onReceive
>
> I have tried to catch with IOException but no luck. Is there any way
> to handle this exception, so I can show the user-friendly message
> instead of getting the application crashed?
>
> Regards,
> Zishan J.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>


--
Saludos

Julio M. Oliveira - Buenos Aires
http://www.linkedin.com/in/juliomoliveira

Software PYMES - Open Source
http://www.javatango.com/ <http://www.linkedin.com/in/juliomoliveira>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]
Reply | Threaded
Open this post in threaded view
|

RE: [io] OutOfMemory exception in IOUtils.toByteArray

Andy Turner
In reply to this post by Julio Oliveira
I am not familiar with the Android environment, but another way to solve this issue might be to allow the application to use more memory perhaps by specifying a -Xmx option in the java run command.

Andy


-----Original Message-----
From: Julio Oliveira [mailto:[hidden email]]
Sent: 08 March 2016 13:00
To: Commons Users List <[hidden email]>
Subject: Re: [io] OutOfMemory exception in IOUtils.toByteArray

Try to use Exception ( this is for all errors )

On Tue, Mar 8, 2016 at 9:50 AM, Zishan J. <[hidden email]> wrote:

> Hello,
>
> I am using Commons.io.IOUtils library in my android application. I
> have received this error:
>
> Fatal Exception: java.lang.OutOfMemoryError
>        at org.apache.commons.io.output.ByteArrayOutputStream.needNewBuffer
>        at org.apache.commons.io.IOUtils.toByteArray
>        at com.alhuda.qih.DownloadCompleteReceiver.onReceive
>
> I have tried to catch with IOException but no luck. Is there any way
> to handle this exception, so I can show the user-friendly message
> instead of getting the application crashed?
>
> Regards,
> Zishan J.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>


--
Saludos

Julio M. Oliveira - Buenos Aires
http://www.linkedin.com/in/juliomoliveira

Software PYMES - Open Source
http://www.javatango.com/ <http://www.linkedin.com/in/juliomoliveira>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [io] OutOfMemory exception in IOUtils.toByteArray

James Carman
In reply to this post by Zishan J.
Do you need the entire thing in memory? What are you trying to do? You
typically can't do much with Errors (which don't extend Exception, but
Throwable) as it means a catastrophic event for the JVM.

On Tue, Mar 8, 2016 at 7:50 AM Zishan J. <[hidden email]> wrote:

> Hello,
>
> I am using Commons.io.IOUtils library in my android application. I have
> received this error:
>
> Fatal Exception: java.lang.OutOfMemoryError
>        at org.apache.commons.io.output.ByteArrayOutputStream.needNewBuffer
>        at org.apache.commons.io.IOUtils.toByteArray
>        at com.alhuda.qih.DownloadCompleteReceiver.onReceive
>
> I have tried to catch with IOException but no luck. Is there any way to
> handle this exception, so I can show the user-friendly message instead of
> getting the application crashed?
>
> Regards,
> Zishan J.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: [io] OutOfMemory exception in IOUtils.toByteArray

Ayoma Wijethunga
In reply to this post by Julio Oliveira
Read through [1] and [2]

"Errors are abnormal conditions that should never occur"  and there is
usually no recovering from it. You can catch it with "OutOfMemoryError"
itself, with "Error" or with "Throwable" [3], if you need and try to
display a message.

Best approach is to check what consumes memory and try to solve the
problem. Android Device Monitor will come in handy with checking relevant
details [4].

[1]
http://javaconceptoftheday.com/difference-between-error-vs-exception-in-java/

[2] https://docs.oracle.com/javase/7/docs/api/java/lang/Error.html
[3]
https://docs.oracle.com/javase/tutorial/essential/exceptions/throwing.html
[4] http://developer.android.com/tools/debugging/debugging-memory.html




On Tue, Mar 8, 2016 at 6:29 PM, Julio Oliveira <
[hidden email]> wrote:

> Try to use Exception ( this is for all errors )
>
> On Tue, Mar 8, 2016 at 9:50 AM, Zishan J. <[hidden email]> wrote:
>
> > Hello,
> >
> > I am using Commons.io.IOUtils library in my android application. I have
> > received this error:
> >
> > Fatal Exception: java.lang.OutOfMemoryError
> >        at
> org.apache.commons.io.output.ByteArrayOutputStream.needNewBuffer
> >        at org.apache.commons.io.IOUtils.toByteArray
> >        at com.alhuda.qih.DownloadCompleteReceiver.onReceive
> >
> > I have tried to catch with IOException but no luck. Is there any way to
> > handle this exception, so I can show the user-friendly message instead of
> > getting the application crashed?
> >
> > Regards,
> > Zishan J.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
>
> --
> Saludos
>
> Julio M. Oliveira - Buenos Aires
> http://www.linkedin.com/in/juliomoliveira
>
> Software PYMES - Open Source
> http://www.javatango.com/ <http://www.linkedin.com/in/juliomoliveira>
>