From 2bc80563b8d6b06598a5862d7e45d9bd68fd4d6d Mon Sep 17 00:00:00 2001 From: Florens Douwes Date: Mon, 5 May 2014 22:10:00 +0200 Subject: [PATCH] Fixed rare OOM error someone send a crash report for. --- .../android/volley/toolbox/BasicNetwork.java | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/Clover/src/com/android/volley/toolbox/BasicNetwork.java b/Clover/src/com/android/volley/toolbox/BasicNetwork.java index c82fc34a..5ef81e4e 100644 --- a/Clover/src/com/android/volley/toolbox/BasicNetwork.java +++ b/Clover/src/com/android/volley/toolbox/BasicNetwork.java @@ -16,6 +16,23 @@ package com.android.volley.toolbox; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.SocketTimeoutException; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import org.apache.http.Header; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.HttpStatus; +import org.apache.http.StatusLine; +import org.apache.http.conn.ConnectTimeoutException; +import org.apache.http.impl.cookie.DateUtils; +import org.floens.chan.utils.Logger; + import android.os.SystemClock; import com.android.volley.AuthFailureError; @@ -31,22 +48,6 @@ import com.android.volley.TimeoutError; import com.android.volley.VolleyError; import com.android.volley.VolleyLog; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.HttpStatus; -import org.apache.http.StatusLine; -import org.apache.http.conn.ConnectTimeoutException; -import org.apache.http.impl.cookie.DateUtils; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.SocketTimeoutException; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - /** * A network performing Volley requests over an {@link HttpStack}. */ @@ -222,6 +223,9 @@ public class BasicNetwork implements Network { bytes.write(buffer, 0, count); } return bytes.toByteArray(); + } catch (OutOfMemoryError e) { + Logger.e("Volley BasicNetwork", "Should not happen!", e); + return new byte[0]; } finally { try { // Close the InputStream and release the resources by "consuming the content".