2016-08-19 2 views
0

POST 요청이 너무 오래 걸리는 이유를 알아 보려면 며칠 동안 검색 중입니다. HTTPRequest 대신 발리 라이브러리를 사용하고 있습니다.Android 발리 JsonObjectRequest가 너무 오래 걸린다

이것은 내가 요청을하고 있어요 방법입니다

RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); 

... 

JSONObject jsonObject = new JSONObject(); 
jsonObject.put("geoLong", longitude); 
jsonObject.put("geoLat", latitude); 
jsonObject.put("radius", 5); 
JsonObjectRequest jsonRequest = new JsonObjectRequest(Request.Method.POST, URL, 
    jsonObject, createResponseListener(), createErrorListener()); 
jsonRequest.setShouldCache(false); 
jsonRequest.setRetryPolicy(new DefaultRetryPolicy(15000, 2, 1)); 
jsonRequest.setTag(requestTag); 
requestQueue.add(jsonRequest); 

요청이 내가 응답 크기가 약 1886 바이트이기 때문에 단지 말도 응답을받을 때까지로드하는 데 10 ~ 15 초 정도 걸립니다. 나는 좋은 WLAN 연결과 3G로 테스트했다.

WLAN을 통해 노트북에서 우편 배달부와 요청을하는 경우 서버 측 문제가 아니므로 약 400ms 정도 소요됩니다. 나는 왜이 발리 슛 요청을하는 데 오랜 시간이 걸리는지 혼란 스럽다. 나는 틀린 일을하고 있는가?

+0

? 나는 아무것도하지 않는다. –

+0

저는 전화로 시간을 측정하지 않습니다. 단지 평가 일뿐입니다. – RyuZz

+1

그러면 오래 걸리는 것을 어떻게 알 수 있습니까? 문제가 디스플레이 코드에 없다는 것을 어떻게 알 수 있습니까? 아니면 다른 곳에서? 아니면 문제가 있다는 것인가? –

답변

1

보통 발리는 더 이상 시간을 들여 보내지 않습니다. 본인이 직접 확인할 수 있습니다.

private long mRequestStartTime; 

public void performRequest() 
{ 
    mRequestStartTime = System.currentTimeMillis(); // set the request start time just before you send the request. 

    JsonObjectRequest request = new JsonObjectRequest(URL, PARAMS, 
     new Response.Listener<JSONObject>() 
     { 
      @Override 
      public void onResponse(JSONObject response) 
      { 
       // calculate the duration in milliseconds 
       long totalRequestTime = System.currentTimeMillis() - mRequestStartTime; 
      } 
     }, 
     new Response.ErrorListener() 
     { 
      @Override 
      public void onErrorResponse(VolleyError error) 
      { 
       long totalRequestTime = System.currentTimeMillis() - mRequestStartTime; 
      } 
     }); 

    requestQueue.add(request); 
} 

당신이 문제에 직면하게 될 것이다 아직도 경우에 당신은 개조로 갈 수 있습니다 : 당신은 어떻게 시간을 측정하는 http://square.github.io/retrofit/

+0

내가 말한대로 시간을 측정했는데 문제는 json 파싱이었습니다. 도와 줘서 고마워! – RyuZz

+0

최고의 코딩 작업 수행 ... – ViramP

관련 문제