지연 로드 및 페이징을 사용하면 데이터를 점진적으로 로드하고 표시하여 앱에서 무한 목록을 비롯한 대규모 항목 목록을 지원할 수 있습니다. 이 기법을 사용하면 초기 로드 시간을 줄이고 메모리 사용을 최적화하여 성능을 향상할 수 있습니다.
버전 호환성
이 구현을 사용하려면 프로젝트 minSDK를 API 수준 21 이상으로 설정해야 합니다.
종속 항목
페이징된 콘텐츠 표시
Paging 라이브러리를 사용하면 로컬 저장소에서 또는 네트워크를 통해 획득한 대규모 데이터 세트의 데이터 페이지를 로드하고 표시할 수 있습니다. 다음 코드를 사용하여 진행률 표시줄을 표시하는 페이징된 목록을 표시하여 사용자에게 더 많은 데이터가 가져오고 있음을 알립니다.
@Composable fun MessageList( modifier: Modifier, pager: Pager<Int, Message> ) { val lazyPagingItems = pager.flow.collectAsLazyPagingItems() LazyColumn { items( lazyPagingItems.itemCount, key = lazyPagingItems.itemKey { it.id } ) { index -> val message = lazyPagingItems[index] if (message != null) { MessageRow(message) } else { MessagePlaceholder() } } } @Composable fun MessagePlaceholder(modifier: Modifier) { Box( Modifier .fillMaxWidth() .height(48.dp) ) { CircularProgressIndicator() } } @Composable fun MessageRow( modifier: Modifier, message: Message ) { Card(modifier = Modifier.padding(8.dp)) { Column( modifier = Modifier.padding(8.dp), verticalArrangement = Arrangement.Center ) { Text(message.sender) Text(message.text) } } } }
코드 관련 핵심 사항
LazyColumn
: 이 컴포저블은 대량의 항목 목록(메시지)을 효율적으로 표시하는 데 사용됩니다. 화면에 표시되는 항목만 렌더링하므로 리소스와 메모리를 절약할 수 있습니다.lazyPagingItems
객체는LazyColumn
내에서 페이징된 데이터의 로드 및 표시를 효율적으로 관리합니다.LazyColumn
컴포저블에서LazyPagingItems
를items
에 전달합니다.MessageRow(message: Text)
는 개별 메시지 항목을 렌더링합니다. 카드 내에 메시지의 발신자와 텍스트를 표시할 수 있습니다.MessagePlaceholder()
는 실제 메시지 데이터를 가져오는 동안 시각적 자리표시자 (로드 스피너)를 제공하여 사용자 환경을 개선합니다.
결과
다음 동영상은 사용자가 스크롤할 때 대규모 목록에서 데이터를 가져오는 결과 동작을 보여줍니다.
이 가이드가 포함된 컬렉션
이 가이드는 더 광범위한 Android 개발 목표를 다루는 선별된 빠른 가이드 모음의 일부입니다.
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=ko)
목록 또는 그리드 표시
목록과 그리드를 사용하면 앱에서 사용자가 쉽게 소비할 수 있는 시각적으로 만족스러운 형식으로 컬렉션을 표시할 수 있습니다.
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=ko)
대화형 구성요소 표시
구성 가능한 함수를 사용하여 Material Design 디자인 시스템을 기반으로 멋진 UI 구성요소를 쉽게 만드는 방법을 알아보세요.
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=ko)
Compose 기초 (동영상 모음)
이 동영상 시리즈에서는 다양한 Compose API를 소개하고 사용 가능한 API와 사용 방법을 빠르게 보여줍니다.
질문이나 의견이 있으신가요?
자주 묻는 질문(FAQ) 페이지로 이동하여 빠른 가이드를 알아보거나 문의하여 의견을 보내주세요.