【问题标题】:Android Volley - java.lang.OutOfMemoryErrorAndroid Volley - java.lang.OutOfMemoryError
【发布时间】:2015-07-11 20:18:42
【问题描述】:

我正在尝试使用 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 响应过大有关?

【问题讨论】:

标签: android android-volley


【解决方案1】:

【讨论】:

  • 感谢您的回答,但问题是从未调用过 onResponse 方法,我无法获取数据。
猜你喜欢
  • 1970-01-01
  • 2016-11-12
  • 2015-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多