【问题标题】:finding volley requests response time android查找凌空请求响应时间android
【发布时间】:2015-04-01 08:35:12
【问题描述】:

我一直在使用 volley 对服务器进行休息调用。我正在尝试将每个请求的响应时间发送给 Google 分析以分析服务器延迟,在 volley jsonobject 请求中是否有任何方法可以找到每个请求的响应时间。 如果 volley 不提供此功能,我如何计算每个请求的响应时间?

【问题讨论】:

    标签: android response android-volley


    【解决方案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);
    }
    

    【讨论】:

    • 在请求中覆盖 parseNetworkResponse。检查 NetworkResponse 对象。 response.networkTimeMs 应该给你价值
    • 使用这个方法,你计算的是从你在 Volley 队列中添加请求到响应的时间,而不是从请求发送开始(如果你的 Volley 队列不为空,你的时间可以是假的)Shikhar Shrivastav 发布的方法更好。
    • elapsedRealtime() 应该用于间隔计时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 2016-12-17
    • 1970-01-01
    • 2016-08-01
    • 2018-08-26
    • 2017-06-19
    • 1970-01-01
    相关资源
    最近更新 更多