반응형
<구글이 알려주는 앱 개발 무료 강의>
[Jetpack Compose] 가이드 맵 - 전체 보기
10. 성능 지연 목록 - LazyColumn / LazyRow
성능을 고려하여 많은 항목을 처리해야 할 때, LazyColumn을 사용하는 것이 좋습니다. LazyColumn은 화면에 보이는 항목만 렌더링하여 성능을 향상시킵니다.
- LazyColumn의 사용
- LazyColumn은 Android의 RecyclerView와 비슷한 역할을 합니다.
- 화면에 표시될 항목을 처리할 때 유용합니다.
- LazyColumn은 필요한 항목만 렌더링하여 메모리 사용량을 줄이고 성능을 향상시킵니다.
- LazyColumn을 사용한 목록 생성
- LazyColumn을 사용하여 많은 항목을 표시합니다.
- items 함수를 사용하여 개별 항목을 렌더링합니다.
- 성능 향상
- LazyColumn은 화면에 표시되는 항목만 렌더링하므로 많은 항목을 효율적으로 처리할 수 있습니다.
- 스크롤할 때마다 새로운 항목을 렌더링하여 성능을 유지합니다.
4. 주의할 점
- LazyColumn은 RecyclerView와 달리 항목을 재활용하지 않습니다.
- LazyColumn은 스크롤할 때마다 새로운 컴포저블을 생성하므로 메모리 사용량을 고려해야 합니다.
예를 들어, 1,000개의 인사말이 있는 목록을 만든다고 가정해봅시다.
<기존코드>
@Composable
private fun Greetings(
modifier: Modifier = Modifier,
names: List<String> = listOf("World", "Compose")
) {
Column(modifier = modifier.padding(vertical = 4.dp)) {
for (name in names) {
Greeting(name = name)
}
}
}
<변경코드>
@Composable
private fun Greetings(
modifier: Modifier = Modifier,
names: List<String> = List(1000) { "$it" }
) {
LazyColumn(modifier = modifier.padding(vertical = 4.dp)) {
items(items = names) { name ->
Greeting(name = name)
}
}
}
LazyColumn을 사용하여 대용량의 목록을 처리하면 성능이 향상되며, 사용자 경험도 개선됩니다. Compose에서 성능을 고려하여 앱을 개발하는 것이 중요합니다.
반응형
'프로그래밍 > Jetpack Compose' 카테고리의 다른 글
12. 애니메이션 효과 - animateDpAsState (Jetpack Compose UI 코틀린 앱 개발 강의) (0) | 2024.04.26 |
---|---|
11. 상태유지 - rememberSaveable (Jetpack Compose UI 코틀린 앱 개발 강의) (0) | 2024.04.24 |
9. 상태 호이스팅 (Jetpack Compose UI 코틀린 앱 개발 강의) (0) | 2024.04.24 |
8. 상태 - mutableStateOf, remember (Jetpack Compose UI 코틀린 앱 개발 강의) (0) | 2024.04.22 |
7. Button (Jetpack Compose UI 코틀린 앱 개발 강의) (0) | 2024.04.22 |
댓글