LazyColumn работает медленнее, чем Column с вертикальной прокруткойAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 LazyColumn работает медленнее, чем Column с вертикальной прокруткой

Сообщение Anonymous »

У меня есть ячейка продукта, которую я хочу отобразить в списке. Я использовал LazyColumn, но производительность была ужасной, я не мог понять, почему она такая медленная. Затем я переключил LazyColumn на Column, и прокрутка внезапно стала очень плавной.
Версия LazyColumn:
LazyColumn() {
items(cartItems, key = {it.cartItem.id}) { cartItemData ->
CartItemWithActions(data = cartItemData)
Divider(color = colorResource(id = R.color.separator_line))
}
}


Версия столбца
val state = rememberScrollState()
Column(modifier = Modifier.verticalScroll(state)) {
cartItems.forEach { cartItemData ->
CartItemWithActions(data = cartItemData)
Divider(color = colorResource(id = R.color.separator_line))
}
}

CartItemWithActions — это ячейка продукта с изображением, которое я загружаю с помощью Glide и пары текстов.
[img]https://i .sstatic.net/eRt9D.png[/img]

HWUI для версии LazyColumn
[img]https:/ /i.sstatic.net/c2LwX.png[/img]

HWUI для столбца
[img]https: //i.sstatic.net/CSl8c.png[/img]

Может ли кто-нибудь подсказать, почему LazyColumn медленнее, чем Column?
ОБНОВЛЕНИЕ
Кажется, что LazyColumn прокручивается намного лучше, когда LazyColumn настроен таким образом
LazyColumn() {
items(
count = cartItems.size,
key = {
cartItems[it].cartItem.id
},
itemContent = { index ->
val cartItemData = cartItems[index]
CartItemWithActions(data = cartItemData)
Divider(
color = colorResource(id =R.color.separator_line)
)
}
)
}


Подробнее здесь: https://stackoverflow.com/questions/698 ... cal-scroll
Ответить

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

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

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

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

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