cache-queue-take在Volley中意味着什么?为什么它在我的情况下需要这么长时间?

时间:2015-08-12 10:40:40

标签: android android-volley

我是Android新手,我正在制作一个来自纬度和经度的应用程序获取地址。但问题是Volley的响应,在Response.Listener中获取响应需要很长时间。 代码如下:

private void obtenerDireccionFromLatLng(final double lat,final double lng) {
       tm.log("BEGIN_VOLLEY");
       RequestQueue queue = Volley.newRequestQueue(MapsFijarPosicion.this);

        String url = String.format(Locale.ENGLISH, "http://maps.googleapis.com/maps/api/geocode/json?latlng=%1$f,%2$f&sensor=true&language="
                + Locale.getDefault().getCountry(), lat, lng);
        StringRequest stringRequest = new StringRequest(Request.Method.GET, url, createMyReqSuccessListener(),
                                                                                createMyReqErrorListener());
        queue.add(stringRequest);
       tm.log("END_VOLLEY");
    }

并且Response.Listener在这里:

private Response.Listener<String> createMyReqSuccessListener() {
        return new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                tm.log("BEGIN_PARSING");
                List<Address> retList=new ArrayList<Address>();
                try {
                    JSONObject jsonObject=new JSONObject(response);
                    if("OK".equalsIgnoreCase(jsonObject.getString("status"))){

                        JSONArray results=jsonObject.getJSONArray("results");
                        for(int i=0;i<results.length();i++){
                            JSONObject result = results.getJSONObject(i);
                            String indiStr = result.getString("formatted_address");
                            Address addr = new Address(Locale.getDefault());
                            addr.setAddressLine(0, indiStr);
                            retList.add(addr);

                        }

                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                mUbicacion=retList.get(0).getAddressLine(0);
                progressBar.setVisibility(View.GONE);
                btnGuardarPosicion.setEnabled(true);
                tm.log("END_PARSING");
            }
        };
    }

跟踪输出:

http://subefotos.com/ver/?5a667e29104374bfbebda184d81dd19ao.png

排球日志输出:

http://subefotos.com/ver/?387ed0867bd266fa734f43a7706f7761o.png

先谢谢。

0 个答案:

没有答案