Column을 사용하여 UI를 구현하여 대량의 데이터를 표시할 경우 성능 문제가 발생할 수 있다. 왜나하면 모든 데이터 아이템에 대해 해당 컴포저블이메모리에 생성되기 때문입니다.
@Composable
fun ExampleList(data: List<Entity>) {
data.sortedByDescending { it.time }
LazyColumn {
items(data) { rate ->
Row(
modifier = Modifier.fillMaxWidth().background(Color.White).padding(8.dp),
horizontalArrangement = Arrangement.SpaceBetween
) {
Text(text = rate.date, fontSize = 20.sp, modifier = Modifier.weight(1f))
Text(text = rate.time, fontSize = 20.sp, textAlign = TextAlign.Center, modifier = Modifier.weight(1f))
Text(text = "${rate.rate}", fontSize = 20.sp, textAlign = TextAlign.End, modifier = Modifier.weight(1f))
}
Spacer(modifier = Modifier.height(1.dp).background(Color.LightGray)) // 구분선 추가
}
}
}