2016-03-29 14 views
0

Merhaba, iletişim sırasında volley kullanan sunucuya bu sorun oluştu. Ben iletişim sunucusuyla oldu benim kod iki istek sırasını kullanarak bana java.lang.OutOfMemoryError: pthread_create (1040KB yığını) başarısız oldu: Tekrar deneyin volley

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)); } 

After this request, If get response from server, again i try to communicate to server by using volley. That ack code was attached bellow,

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)); 
    } 

herhangi bir sorun yoktur var mı

yardım ekli?

cevap

0

En olası neden, alınan dize boyutunuz veri tutmak için dize maksimum kapasite sınırını aşıyorsa, almaya çalıştığınız verilerin boyutunu söyler misiniz?

+0

Cevabınız için teşekkürler, ancak daha az yanıt boyutu aldım. Daha önce kodumu tamamen ekledim. Lütfen bir kez daha kontrol edin – Palanivelraghul

+0

Sadece tam ve eksiksiz bir iz bırakabilirsiniz. Ayrıca her iki yanıtın boyutu da – Alok

+0

Ayrıca iki istek kuyruğu kullanmanıza gerek yoktur, çoğu durumda 1 yeterlidir. Yani basit olsun. – Alok