개발/Compose
[Android Compose] Composable Lifecycle 이해하기
알고싶은 승민
2022. 12. 11. 18:09
Composable의 라이프사이클은 Activity 라이프사이클에 비하면 무척 간단하다.
총 세 단계만 기억하면 된다.
Enter the Composition
Composable 함수가 Composition 트리에 추가되는 순간이다.
즉, 최초로 Composable 함수가 호출되는 순간이다.
Recompose 0 or more times
그러진 Composable에 State가 변경되면 UI를 다시 그려야 한다.
즉, 새로운 파라미터로 Composable 함수가 호출되는 순간이다.
Leave the Composition
Composable 함수가 Composition 트리에서 제거되는 순간이다.
Lifecycle 확인하기
아래 코드로 설명한 Composable 각 라이프사이클 단계에 로그를 심을 수 있다.
@Composable
fun MyComposable(state: State) {
log("Compose") // 최초 Compose, Recompose 시점에 호출
DisposableEffect(key1 = true) { // Composable Lifecycle 동안 1번만 호출하기 위해서 key로 true
log("Enter") // Composable이 Composition 트리에서 추가될 때
onDispose {
log("Leave") // Composable이 Composition 트리에서 제거될 때 호출
}
}
}
private fun log(msg: String) {
Log.d("MyComposable", msg)
}