URLSessionTaskDelegate - задержка между 100% прогрессом и вызовом didCompleteWithError - PullRequest
0 голосов
/ 05 апреля 2020

URLSessionTaskDelegate имеет два метода - didSendBodyData, который вызывал каждое обновление процесса загрузки, и didCompleteWithError, который вызывался в конце передачи файла.

Проблема в том, что didSendBodyData достигает 100% и только через 2-3 секунды после didCompleteWithError вызван с успехом.

Это означает, что у меня есть загрузчик или индикатор выполнения, и только через 2-3 секунды после того, как он достигает 100%, я могу что-то показать на экране. Это расстраивает.

Кто-нибудь знает, в чем здесь решение?

Примечание: уже убедился, что я обновляю пользовательский интерфейс в главном потоке.

Спасибо!

1 Ответ

0 голосов
/ 05 апреля 2020

Я думаю, это очень просто. Ваша задача занимает 100% от начала до конца sh. Ваша задача - загрузка, плюс все, что происходит после этого. Назначьте 90% для загрузки и 10% для других вещей. Таким образом, ваш прогресс увеличивается до 90%, остается там в течение двух или трех секунд, а затем прыгает до 100%.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...