Android Volley - java.lang.OutOfMemoryError

时间:2015-07-11 12:01:38

标签: android android-volley

我正在尝试使用Volley从后端获取大型JSON。我正在使用JsonObjectRequest和单例Volley请求队列来完成它。这是我的来源:

JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET,
                URL, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                apiResponse.response(response, null);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {    
                apiResponse.response(null, error);
            }
        });

        mRequestQueue.add(request);

但我总是得到这个例外:

java.lang.OutOfMemoryError
        at java.util.HashMap.makeTable(HashMap.java:569)
        at java.util.HashMap.doubleCapacity(HashMap.java:589)
        at java.util.HashMap.put(HashMap.java:419)
        at org.json.JSONObject.put(JSONObject.java:263)
        at org.json.JSONTokener.readObject(JSONTokener.java:385)
        at org.json.JSONTokener.nextValue(JSONTokener.java:100)
        at org.json.JSONTokener.readArray(JSONTokener.java:430)
        at org.json.JSONTokener.nextValue(JSONTokener.java:103)
        at org.json.JSONTokener.readObject(JSONTokener.java:385)
        at org.json.JSONTokener.nextValue(JSONTokener.java:100)
        at org.json.JSONObject.<init>(JSONObject.java:155)
        at org.json.JSONObject.<init>(JSONObject.java:172)
        at com.android.volley.toolbox.JsonObjectRequest.parseNetworkResponse(JsonObjectRequest.java:103)
        at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:123)

你知道为什么会崩溃吗?它可能与我的JSON响应的大小有关吗?

1 个答案:

答案 0 :(得分:0)

相关问题