.Net Maui Медленная загрузка CollectionView и древовидная структура пользовательского интерфейса
Поэтому я решил сделать простой интерфейс с полем поиска, парой «вкладок», представляющих категории данных, и CollectionView для отображения данных, как показано на рисунке ниже.
Во время разработки я заметил, что когда я устанавливал вкладку с большим количеством данных, загрузка занимала больше времени (слишком долго), и все как бы зависало в ожидании ответа, поэтому я начал делать некоторые тесты того, как CollectionView заполняется (через событие ChildAdded), и вот мои выводы
В большинстве случаев CollectionView будет загружать дочерние элементы, которые соответствуют представлению (например, на моем снимке экрана он загружает только 4 дочерних элемента), и каждый раз, когда вы прокручиваете, он загружает соответствующее количество элементов для заполнения экрана. Это произошло, когда в коллекции были только эти типы элементов-предков — ContentPage, Frame, RefreshView. ScrollView, TableView, Grid (если не установлено значение Auto), HorizontalStackLayout, FlexLayout, набор инструментов:DockLayout
Однако есть и другие случаи, когда все дочерние элементы загружаются сразу, это происходит, когда CollectionView является потомком этих типов - ScrollView, VerticalStackLayout, StackLayout, AbsoluteLayout, Grid (когда установлено значение auto)
Кто-нибудь знает, почему это происходит?
Также можно каждый раз загружать фиксированное количество дочерних элементов, скажем, вместо того, чтобы загружать достаточно элементов для заполнения представления, я хочу загрузить 10 элементов (обратите внимание, что загрузка данных постепенно с помощью RemainingItemsThresholdReachedCommand, например, загружает данные только в память и не создает дочерний элемент в представлении)
Обратите внимание, что эти тесты не являются исчерпывающими, и могут быть другие комбинации предков / конфигураций, которые имеют разные результаты, и они выполняются только с помощью эмулятора Android.