선생님, 개발을 잘하고 싶어요.

[Android Compose] Composable Lifecycle 이해하기 본문

개발/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)
}

참고자료

https://developer.android.com/jetpack/compose/lifecycle

Comments