Время ответа залпа до получения ответа - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь загрузить изображения и видео, используя залп, преобразовав их в Base64 (строки).

Теперь причина в том, что я хочу показать пользователю, сколько времени потребуется, чтобы загрузить этоdata.

есть ли способ получить время ответа на залп после нажатия вызова API и до получения ответа. Вот сколько времени потребуется, чтобы ответить на вызов API.

Я попробовал это.

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

}

с

но таким образом он дал время ответа после ответа.

если у кого-то есть решение, пожалуйста, поделитесь им.

1 Ответ

0 голосов
/ 02 октября 2019

Я считаю, что залп не предлагает такой вариант из коробки, вы должны рассчитать его самостоятельно. Вам нужно будет изменить подход к загрузке, чтобы вы могли выполнять потоковую загрузку, чтобы иметь возможность подсчитывать отправленные байты ... тогда ваше расчетное время загрузки будет примерно равно requiredTime = totalBytes * bytesUploadedSoFar / passedTime

...