I am trying to create one compose screen with nested scroll behaviour. For that I am using lazyColumn as parent and inside that I do have multiple rows with layRow.
val scrollState = rememberLazyListState()
LazyColumn(
state = scrollState,
modifier = Modifier
.background(Color.White),
)
{
items(100, key = { it })
{
LazyRow(
contentPadding = PaddingValues(start = 16.dp, end = 16.dp),
horizontalArrangement = Arrangement.spacedBy(10.dp)
) {
items(10, key = { it }) {
Text(text = "Text $it")
}
}
}
}
I am getting lagging behaviour when I scroll the list. I tried to create release build and saw some improvement but the behaviour is still show some junk behaviour. Behaviour is different on different types of devices.
I tried to use Column as parent view and saw good improvement but it loads all the views in list together. Which cost some other delaying issues.
When I did macro-benchmarking found plenty of junky frames. Majority of them are requesting for render operation.
Any optimisation suggestion here?
Lazy
for rows if your row items are small and its items are simple is just an overkill, IMHO consider using a simpleRow
for them. – Galligaskins