본문 바로가기

분류 전체보기87

[Jetpack Compose] remember 에 쓰이는 key 가 무엇일까? remember 의 파라미터우리가 기존에 remember 를 사용할때는 remember 를 선언하고 람다 내에서 계산식을 호출하여 사용해왔다.이러한 방식을 사용할 수 있는 이유는 remember 함수가 정의된 코드 내의 모습이 아래와 같기 때문이다.@Composableinline fun remember(crossinline calculation: @DisallowComposableCalls () -> T): T = currentComposer.cache(false, calculation) 우선 여기서 @DisallowComposableCalls 가 무엇인지간단히 알려주자면, 람다내의 코드에서 Composable 함수를 호출하지 못하게 하는 Annotation 이다. (자세한 설명은 추후 글을 작.. 2024. 9. 23.
[Jetpack Compose] 5분만에 derivedStateOf 에 대해서 알아보자 ! 우리는 지금까지 remember, rememberSaveable 과 함께 Stateful, Stateless 가 무엇인지 알아보았다.이쯤되면 Compose 의 아주 기초적인 것들은 대충 알아낸 셈이지만, 리컴포지션 최적화와 함께 상태 관리를 하기에는 무언가 부족하다.이럴때 derivedStateOf 를 써주면 아주 좋다. DerivedStateOf 가 무엇이지?일반 mutableStateOf 의 경우 내부에서 State 객체를 참조해도 remember 에서 State 객체를 key 로 설정해주지 않으면 State 객체에 변화가 생겨도 재계산이 되지 않는다하지만 derivedstateOf 는 State 객체를 참조하는 경우 key 로 설정해주지 않아도 State 객체의 변화에 따라 재계산이 진행된다.불필.. 2024. 9. 23.
[Jetpack Compose] 1분만에 Jetpack Compose 에 대해서 간단히 알아보자 ! # Jetpack Compose 란?Kotlin 으로 제작되는 라이브러리이며 선언형 UI 구성 방식이다기존 안드로이드 작업의 경우 명령형 UI 구성 방식인 Xml 에서 코드 작성 후 class 에서 코드를 재작성하는 방식으로 운영되다 보니 보일러 플레이트 코드가 생성되고 불필요한 작업이 진행되었다.뷰를 구성할 때 기존에는 트리 탐색 방식으로 구현하던 것처럼 복잡하였지만, 현재는 내부 속성을 변경하는 식으로 사용할 수 있어서 더욱 간편하고 직관적으로 코드를 짤 수 있게 되었다.추가적으로 가장 좋은 부분은 Preview 를 통하여 개발 실시간으로 현재 UI 가 어떻게 개발되어가는지 확인이 가능하다. # Jetpack Compose 의 라이프사이클Compose Lifecycle 의 경우 Activity, Fr.. 2024. 9. 23.