У меня есть ProgressBar в режиме MANUAL, отвечающий на события прогресса URLLoader, которые, кажется, рисуются гораздо реже, чем хотелось бы.Если я отлаживаю приложение, я вижу много событий, запускаемых из URLLoader, но кажется, что ProgressBar перерисовывается с некоторой случайной и медленной скоростью.
Теперь, если бы это был мой собственный код (URLLoader - это черный ящик), я бы делал паузу время от времени, чтобы позволить обновлению пользовательского интерфейса, скажем, через цикл с таймером.Я предполагаю, что сам URLLoader блокирует основной поток от обработки кода чертежа.Добавление validateNow () и invalidateDisplayList (), кажется, не очень помогает.
private function onLoadProgress(resource: TResource, evt: ProgressEvent): void
{
_progressDialog.prbCurrentItem.setProgress(evt.bytesLoaded, evt.bytesTotal);
_progressDialog.prbCurrentItem.validateNow();
_progressDialog.prbCurrentItem.invalidateDisplayList();
}
Теперь есть много TResources (просто класс, который может управлять своими данными), загружаемые последовательно, но URLLoader настолько жаденчто пользовательский интерфейс не обновляется более нескольких раз при загрузке и обработке (разборе на объекты XML) файлов размером около 10 КБ.Так что подсчет файлов, загруженных визуально, тоже не работает;Мне повезло, что я все время получаю 2-3 обновления экрана.
Загрузка файла размером 700 МБ выглядит намного лучше, но опять-таки обновления индикатора выполнения происходят случайно и медленно.
Кроме того, я 'Я хотел бы знать, есть ли какой-либо способ повлиять или даже контролировать скорость, с которой ProgressEvents запускается классом URLLoader.Я не смог найти, с какой скоростью он обычно отправляет события прогресса;это фиксированный процент на файл или каждые x кадров или миллисекунд?
Поскольку это локальные файлы, было бы лучше, если бы я не использовал класс URLLoader и вместо этого переключился на FileStream?
Среда
- Flex 4.1.0.16076 SDK
- Компиляция в приложение AIR
- FrameRate приложения составляет 60
- ОС Windows 7x64
Боже мой, выглядел бы сложнее.
.-'---`-.
,' `.
| \
| \
\ _ \
,\ _ ,'-,/-)\
( * \ \,' ,' ,'-)
`._,) -',-')
\/ ''/
) / /
/ ,'-'