Compose 에는 lifecycle가 있다고 한다.

Lifecycle overview 를 통해 무엇인지 알아보았다. 

 

composable 이란?

Composable 라는 단어가 자주쓰여 무엇인지 알아보았다.

composable에 data를 넣으면 이를 읽어 UI를 그려주는 기능 이다.

 

데이터를 그려주는 도구로 이해하였다.

 

composition 이란?

composable 에는 composition 이라는 기능이 있다.

이 데이터를 그려주는 도구에서 그려주는 기능을 한다.

그리고 이 composition은 실행중인 composable 에서 실행된다.

 

composable를 직접 구현해보면 

tree 구조로 구현해야 하는걸 알 수 있다.

xml에서도 tree 형태로 구현하는 것은 마찬가지이다.

그러고 보면 front-end에서 tree 구조로 그리지 않는 프레임워크를 찾기가 더 힘든 것 같다.

 

composition을 데이터를 그려주는 Composable의 tree 형태 라고도 한다.

 

Jetpack Compose는 이 composable를 실행 시킬 수 있다.

이 composable가 처음 실행이 되면,

composition이 composable 전체를 읽으며 하나씩 그려나간다.

 

사용자가 앱을 사용하면서 앱의 상태가 바뀌면,

Jetpack Compose는 똑같은 composable를 변경된 데이터로 다시 호출한다.

(composable은 데이터를 그려주는 도구이기 때문에..)

 

recomposition 이란?

Jetpack Compose 이미 그려져 있는 Composable를 다시 호출하는 것을 recomposition 이라고 한다.

 

다시 Composition으로 돌아가

composition이 실행되는 것은 두가지 경우로 구분한다.

1)composable가 최초 실행되었을 때와

2)composable를 다시 실행할 때 recomposition.

 

composable의 lifecycle

위에 설명한 내용을 종합하면 composable의 lifecycle를 이해할 수 있다.

1) 먼저 최초 실행. enter the composition

2) 상태가 바뀌어 recomposition 실행 (0~여러번 가능)

3) 그린 화면을 더이상 사용하지 않아 지워 버리는 leave the composition

 

Lifecycle of a composable in the Composition.

 

+ Recent posts