핵심 요약
여기어때가 LazyColumn의 key 기반 식별과 안정 상태 관리로 재컴포지션 비용을 최소화하는 방법을 실험적으로 제시했습니다.
구현 방법
- 아이템마다 고유한 key를 부여해 데이터셋 변경 시 재사용을 보장
- @Stable과 mutableStateOf를 활용한 안정 상태로 상태 변화 시점에만 재컴포지션 발생
- SnapshotStateList를 이용해 아이템 추가/삭제를 관찰 가능하게 하되 전체 교체 없이 차분 변경을 처리
주요 결과
- key 사용 시 특정 아이템만 재컴포지션되며 전체 재컴포지션이 감소
- 안정 아이템은 동등성 비교로 불필요한 재컴포지션을 줄임
- 아이템 추가/삭제 시 내부 아이템은 변경 없어도 skip 가능


![[Jetpack Compose — Part 3] Jetpack Compose, 데이터로 성능과 안정성을 증명하다 섬네일](https://miro.medium.com/v2/resize:fit:1200/1*fzHVp60NQLB9-H8fQYCmrA.png)