Android compose LazyRow inside LazyColumn gives junk behaviour

935 Views Asked by At

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.

enter image description here

enter image description here

Any optimisation suggestion here?

0

There are 0 best solutions below