BackgroundTransferService - Когда вызывается TransferProgressChanged? - PullRequest
0 голосов
/ 17 ноября 2011

При использовании BackgroundTransferService на Windows Phone 7, есть ли способ контролировать, как часто вызывается TransferProgressChanged?Я предполагаю, что это связано с размером внутреннего буфера, используемого для загрузки, но я не вижу никаких свойств для установки этого.

Значения BytesReceived не равны или даже одинаковы дляповторные загрузки одного и того же файла, но, по-видимому, они составляют примерно 1% от общего размера файла.

Это нормально для небольшого файла, но создает очень неотзывчивый пользовательский интерфейс при загрузке больших файлов (фильм объемом 2 ГБ)файлы.

1 Ответ

1 голос
/ 17 ноября 2011

BackgroundTransferService обновляется, когда загружаемый процент изменяется (только на целые числа, как вы заметили).Это соответствует загрузкам с рынка и т. Д., Когда обновление иногда занимает много времени (по крайней мере, когда я вынужден использовать мое пограничное соединение для загрузки).

В вашем случае, если файлы настолько великиЯ бы использовал вторую анимацию, чтобы пользователь знал, что загрузка еще продолжается.Я бы, вероятно, добавил текст «Загрузка ...» над отображением фактического процента выполнения и анимировал эллипсы.

Относительно легко сообщить о ходе загрузки, которую вы выполняете самостоятельно, но BackgroundTransferService контролируетсяОС и, следовательно, должны иметь дело с распределением ресурсов по всем приложениям.Если вы используете его, то большую часть времени пользователь даже не увидит индикатор прогресса, поскольку он будет делать что-то еще.Это означает, что слишком часто сообщать о прогрессе - пустая трата ресурсов.Если бы я загружал файл 2 ГБ на свой телефон, я проверял бы прогресс каждые 20-30 минут, и я бы не стал ждать обновления индикатора выполнения, прежде чем вернуться к тому, что я делал.

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