Расширенная галерея в формах Xamarin - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь реализовать в формах Xamarin следующее:

  • Галерея, которая отображает изображения в сетке
  • Миниатюры изображений загружаются с сервера
  • Может быть до 10 тыс. Изображений
  • Мне нужен механизм, который оптимизирует загрузку изображений (очевидно, загрузка 10К изображений одновременно не возможна)
  • Каждое изображение будет иметь минимальное описание.

Я застрял на уровне проектирования архитектуры для такого решения в Xamarin Forms. В частности:

  • Понятия не имею, какой элемент управления использовать, который будет отображать данные так, как мне нужно
  • Понятия не имею, как / когда решать, какие изображения скачивать.

Я уже попробовал элемент управления с именем FlowListView, который выглядел нормально, но вел себя странно на UWP (часть окна, в которую был помещен FLV, не перерисовывалась, изменение размера окна вызывало тонны GC, что снижало производительность.

Лучший подход, который я могу себе представить, это:

  • Разработка пользовательского составного элемента управления - ScrollView с парой изображений и реализация его «виртуальности» вручную - когда пользователь прокручивает страницу вниз, повторно используйте некоторые изображения
  • Положение изображений внутри этого ScrollView вручную после изменения размера или прокрутки
  • ScrollView позволит мне определить, когда появится изображение, а затем запустить загрузку

Это кажется излишним для меня. Разве нет более простого решения этой проблемы?

Основной вопрос: На каком контроле я должен основывать свое решение, чтобы я мог выполнить все вышеуказанные требования?

...