Как предварительно визуализировать элементы ComposeView в RecyclerView, чтобы избежать задержек в Jetpack Compose?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как предварительно визуализировать элементы ComposeView в RecyclerView, чтобы избежать задержек в Jetpack Compose?

Сообщение Anonymous »

Я использую ComposeView внутри представления элемента RecyclerView. Моя цель — предварительно отрисовать элементы (например, следующий и предыдущий элементы в списке), чтобы сделать прокрутку более плавной и гарантировать, что контент готов до его появления на экране.
В стандартная настройка RecyclerView с типичными представлениями Android, механизмы предварительной загрузки и кэширования RecyclerView прикрепляют элементы близко к области просмотра, поэтому следующий и предыдущий элементы готовы при прокрутке в поле просмотра.
Однако при ComposeView, У меня возникла задержка, поскольку метод setContent вызывается только тогда, когда элемент становится видимым на экране. Такое поведение вызывает видимую задержку, поскольку следующий элемент не составляется и не отображается до тех пор, пока не появится в области просмотра.
Замена RecyclerView на LazyColumn сейчас невозможна из-за сложности макета и необходимости обрабатывать несколько типов представлений в списке.
Есть ли способ заставить ComposeView прикрепиться к окну раньше или вызвать композицию, не дожидаясь видимости? Или существует надежный шаблон для предварительной визуализации элементов ComposeView в настройке RecyclerView, чтобы избежать задержек?
Пример кода:

Код: Выделить всё

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.composeView.setContent {
MyComposableContent()
}
Что я ищу:
  • Методы улучшения поведения предварительной отрисовки ComposeView в RecyclerView.
  • Обходные пути или рекомендации по использованию Compose в
    элементах RecyclerView.
  • Рекомендации по обращению с гладкими прокрутка
    и предварительная отрисовка с помощью Compose содержимого в RecyclerView.


Подробнее здесь: https://stackoverflow.com/questions/791 ... in-jetpack
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»