У меня довольно сложное представление QML, которое в основном представляет собой GridView
, но значение по умолчанию GridView
не используется, поскольку оно не поддерживает разделы.
По этой причине я использую комбинацию Flickable
+ Grid
s и Repeater
для заполнения нескольких заголовков секций + их сеток под одной прокруткой.
Теперь, поскольку cacheBuffer
недоступен, и у нас есть довольно тяжелые визуальные делегаты для представлений + бесконечныймодель для последнего раздела (которая выбирается при дальнейшей прокрутке пользователя), наше потребление ОЗУ увеличивается как сумасшедшая, когда вы непрерывно прокручиваете.Мое лучшее предположение пока заключается в том, что каждый экземплярный экземпляр QML хранится в памяти в основном навсегда .
Я ищу решение, в котором вы имитируете свойство GridView
cacheBuffer
и применяете его для простых Grid
и выгружаете делегатов, которые находятся далеко от видимой области прокрутки.
На данный момент я подумываю об использовании Loader
для загрузки каждого делегата и отслеживания того, какие элементы находятся / находятся вблизи видимой области прокрутки, чтобы их Loader
s могли загружать / выгружать его содержимое.
Будетценим любое предложение.