Как предоставить пользователю прогресс или оценку времени, необходимого для выполнения задачи - PullRequest
0 голосов
/ 06 ноября 2019

В моем приложении я использую библиотеку для создания документа расширения .pdf. Это приложение Xamarin.Forms, поэтому его можно запускать с любого устройства под управлением iOS или Android. Теперь проблема заключается в том, что я сообщаю пользователю о ходе процесса экспорта. Иногда это может занять 50 секунд, иногда 4 минуты. Все зависит от количества данных в документе и самого устройства.

Теперь было бы здорово, если бы это был цикл for, который работает для генерации pdf, где я мог бы просто повторять и отображать прогресс. Однако теперь у меня есть метод, предоставленный библиотекой «Draw», который выполняет всю «тяжелую работу» и не знает, есть ли способ, которым я мог бы показать прогресс или, по крайней мере, оценку того, сколько времени это займет. заканчивать.

Итак, подведем итог: вопрос в том, есть ли какая-то библиотека или способ, о котором кто-нибудь слышал, возможно, для прогнозирования предполагаемого времени выполнения задачи. Может быть, способ показать какой-то прогресс, даже если метод не обеспечивает «этапы завершения». Любое предложение является хорошим предложением и все ценится.

1 Ответ

1 голос
/ 06 ноября 2019

Вы можете сделать оценку, основанную на количестве данных в документе, и показать индикатор выполнения, основанный на вашей оценке. Индикатор выполнения может быть пессимистичным, так что во время предполагаемого завершения он будет на уровне около 80% или около того. В худшем случае пользователь увидит, что индикатор выполнения достигнет 100%, а затем ничего не произойдет, что заставит их поверить, что процесс завершился. Вы можете сделать видимой метку с текстом «Завершение ...» или что-то похожее на 100%, чтобы смягчить беспокойство пользователя.

Другой подход - обернуть на 100% и перезапустить индикатор выполнения с нуля. Таким образом, пользователь может чувствовать себя преданным, но, по крайней мере, будет увереннее, что прогресс все еще достигнут.

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