Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 请求截取http请求时发生OutOfMemoryError_Java_Android_Httprequest_Android Volley - Fatal编程技术网

Java 请求截取http请求时发生OutOfMemoryError

Java 请求截取http请求时发生OutOfMemoryError,java,android,httprequest,android-volley,Java,Android,Httprequest,Android Volley,在我的应用程序中,我每30秒检查一次电灯开关的状态。我使用截击通过http请求状态 我每收到10-15次请求,请在我的日志中运行此消息: 背景粘性并发标记扫描GC释放383213MB AllocSpace对象,30388KB LOS对象,36%空闲,6MB/10MB,暂停5.197ms总计47.892ms 在我多次收到此消息后,我的应用程序因此错误崩溃: 致命异常:主进程:de.resper.autoheim,PID:4522 java.lang.OutOfMemoryError:pthread

在我的应用程序中,我每30秒检查一次电灯开关的状态。我使用截击通过http请求状态

我每收到10-15次请求,请在我的日志中运行此消息:

背景粘性并发标记扫描GC释放383213MB AllocSpace对象,30388KB LOS对象,36%空闲,6MB/10MB,暂停5.197ms总计47.892ms

在我多次收到此消息后,我的应用程序因此错误崩溃:

致命异常:主进程:de.resper.autoheim,PID:4522 java.lang.OutOfMemoryError:pthread_创建1040KB堆栈失败:重试

这是主活动中的代码:

    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            Log.d("DEBUG", "Check Light");
            wzControl.checkLight();
            if (wzControl.lightStatus) {
                rlWz.setBackground(getDrawable(R.drawable.border_light));
            } else {
                rlWz.setBackground(getDrawable(R.drawable.border));
            }
            handler.postDelayed(this, 30000);
        }
    }, 1);
checkLight方法:

public void checkLight(){
    helper.sendUrl("http://mediaserver:8083/fhem?cmd=set%20WZ.Licht1%20statusRequest");
    RequestQueue queue = Volley.newRequestQueue(mContext);
    JsonObjectRequest jsObjRequest = new JsonObjectRequest (Request.Method.GET, "http://mediaserver:8083/fhem?cmd=jsonlist2%20WZ.Licht1&XHR=1", null, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            try {
                String statValue = response.getJSONArray("Results").getJSONObject(0).getJSONObject("Readings").getJSONObject("state").getString("Value");
                switch (statValue){
                    case "off":
                        lightStatus = false;
                        break;
                    case "on":
                        lightStatus = true;
                        break;
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {}
    });
    queue.add(jsObjRequest);
}
这可能是因为请求有时没有得到响应,而只是不断尝试,等等吗