В моем приложении WPF мне нужно загрузить некоторые изображения. Мне нужно отображать только одно изображение за раз. Если я загружаю изображение, когда это необходимо, происходит небольшая задержка. Поэтому я подумал: «Эй, почему бы не сделать предварительную загрузку в фоновом потоке? Не может быть так сложно». У меня есть опыт работы с потоками, но недостаточно, чтобы знать, что эта мысль была неправильной. Я начал программировать и сталкивался с некоторыми проблемами. Я исправил некоторые проблемы, и я, вероятно, мог бы исправить и другие проблемы, но это привело бы к коду спагетти. Итак, я думаю, что начинать с нуля было бы лучше. Какое начальное строгание необходимо для создания красивой и маленькой загрузочной нити? Есть ли образец или что-то в этом роде?как предварительно загрузить изображения в фоновом режиме?
Вот моя текущая настройка:
LinkedList<string>
в магазинах трактов к картинам и перейти к следующему изображениюDictionary<string, BitmapImage>
для хранения предварительно загруженного изображения
Это выглядит действительно хорошо, но все же это не мешает ждать. Рассмотрим такой пример: у нас есть 100 изображений, доступных для загрузки, например. FTP. Если пользователь нажимает последнее изображение, он будет вынужден дождаться загрузки всех 99 предыдущих изображений. В этом случае это решение имеет только один pro: он не блокирует пользовательский интерфейс. Марсель, пожалуйста, предоставьте нам дополнительную информацию :) –
Если вы нажмете 100-е изображение, оно будет загружено в поток ui по запросу независимо от поставленных в очередь изображений, поэтому оно будет показано как можно скорее, даже если предварительный загрузчик еще не дошел. – Blindy
Итак, в чем смысл использовать такой предварительный загрузчик? :) –