java.lang.OutOfMemoryError:phread_create(1040KB堆栈)失败:请在截击中重试



嗨,我在服务器使用截击进行通信时遇到了这个问题。我在与服务器进行通信的地方附上了我的代码。请帮帮我

SharedPreferences ciuidpref = context.getSharedPreferences(Utility.CIUIDFILENAME, 0);
        SharedPreferences pref = SuiteApplication.getAppContext().getSharedPreferences(Utility.CLOUD_COMM_PREF, 0);
        if (!pref.getBoolean("rbDisable", false) && pref.getBoolean("rbTenMin", true)) {
            RequestQueue mRequestQueue;
            Cache cache;
            if (lockService.context != null) {
                cache = new DiskBasedCache(Service.context.getCacheDir(), 1024 * 1024); // 1MB cap
            } else {
                cache = new DiskBasedCache(SuiteApplication.getAppContext().getCacheDir(), 1024 * 1024); // 1MB cap
            }
            Network network = new BasicNetwork(new HurlStack());
            mRequestQueue = new RequestQueue(cache, network);
                mRequestQueue.start();
            String requestedUrl = Utility.mPINGSERVICE_URL + Utility.getCIUIDValue(context) + "&UniqueIdentifier=" + Utility.getUIDValue(context);
            StringRequest stringRequest = new StringRequest(Request.Method.GET, requestedUrl, new Response.Listener<String>() {
                @Override
                public void onResponse(String responseFromServer) {
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError errorResponse) {
                }
            });
            mRequestQueue.add(stringRequest);
            stringRequest.setRetryPolicy(new DefaultRetryPolicy(5000, 2, 2));
        }

在这个请求之后,如果得到服务器的响应,我再次尝试使用截击与服务器通信。确认码附在下面,

private void sendAcknowledgePingService(final CommunicationInterface interfaceReference, final String initialPingResponse) {
        String requestedUrl = Utility.mPINGSERVICE_URL + Utility.getCIUIDValue(context) + "&UniqueIdentifier=" + Utility.getUIDValue(context) + Utility.mPING_ACK;
        StringRequest stringRequest = new StringRequest(Request.Method.GET, requestedUrl, new Response.Listener<String>() {
            @Override
            public void onResponse(String responseFromServer) {

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError errorResponse) {
            }
        });
        ((SuiteApplication) SuiteApplication.getAppContext()).addToRequestQueue(stringRequest);
        stringRequest.setRetryPolicy(new DefaultRetryPolicy(5000, 2, 2));
    }

使用两个请求队列有问题吗

最可能的原因是,您收到的字符串大小超过了保存数据的字符串最大容量的限制,您能告诉我您试图获取的数据的大小吗。

最新更新