
이 글은 Jetpack Compose Internals의 상태 스냅샷 시스템을 정리한 글입니다. 스냅샷 상태란컴포즈에서 스냅샷 상태는 상태 변경을 추적하고 관찰할 수 있는 분리된 상태를 의미합니다. 주로 mutableStateOf, mutableStateListOf, mutableStateMapOf, derivedStateOf, produceState, collectAsState 같은 함수 호출을 통해 State 타입을 얻게 되는데 이를 스냅샷 상태라 합니다. 모든 컴포저블 함수는 젯팩 컴포즈 컴파일러에 의해 자동으로 래핑되어, 본문 내 스냅샷 상태 읽기를 자동으로 추적합니다. 스냅샷 상태의 목적은 컴포저블이 읽는 상태가 변경될 때마다 컴포저블의 리컴포즈스코프를 무효화하여 다음 리컴포지션에서 다시 실행되..