![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeeZY7f%2FbtrJUY53CWp%2F8t4hJGCDkfkRujV8YaEKKK%2Fimg.gif)
Compose에서 "donut-hole skipping" 란 무엇인가
2022. 8. 17. 22:06
안드로이드/UI
https://www.jetpackcompose.app/articles/donut-hole-skipping-in-jetpack-compose What is “donut-hole skipping” in Jetpack Compose? 🍩 Learn how Jetpack Compose is able to be smart during recompositions! www.jetpackcompose.app 해당 글은 해당 article을 번역한 글입니다. Recomposition Recomposition은 상태가 변경될 때 Composable 함수를 재호출하는 프로세스이다. Compose가 새 상태를 기반으로 재구성할 때 변경되었을 수 있는 함수 또는 람다만 호출하고 나머지는 건너 뛴다. 상태가 변경되지 않는 모든..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAEDwQ%2FbtrIBTxnn9M%2FJO93APk2sGKnJ5tf3bi0L1%2Fimg.png)
Compose 생명주기
2022. 7. 31. 18:49
안드로이드/UI
JetPack Compose는 초기 컴포지션 시 처음으로 컴포저블을 실행할 때 컴포지션에서 UI를 기술하기 위해 호출하는 컴포저블을 추적한다. 그런 다음 앱 상태가 변경되면 리컴포지션을 한다. 리컴포지션은 Jetpack Compose가 상태 변경사항에 따라 컴포저블을 다시 실행한 다음 변경사항을 반영하도록 컴포지션을 업데이트 하는 것이다. 컴포지션은 초기 컴포지션을 통해서만 생성이 되고 리컴포지션을 통해서만 업데이트 될 수 있다. 컴포지션을 수정하는 유일한 방법은 리컴포지션을 통하는 것이다. 컴포저블은 컴포지션을 시작하고 0회 이상 재구성되고 컴포지션을 종료한다. 리컴포지션은 일반적으로 State 객체가 변경되면 트리거 된다. Compose는 이러한 객체를 추적하고 컴포지션에서 특정 State를 읽는 모..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDGAWv%2FbtrHd0Zr0iD%2Fk53VDgpvCM1r0s9XgZig41%2Fimg.png)
Compose 상태관리
2022. 7. 14. 12:16
안드로이드/UI
상태에 대한 예시 네트워크 연결을 설정할 수 없을 때 표시되는 스낵바 블로그 게시물 및 관련 댓글 사용자가 클릭하면 버튼에서 재생되는 물견 애니메이션 사용자가 이미지 위에 그릴 수 있는 스티커 상태 및 컴포지션 Compose는 선언적이므로 Compose를 업데이트하는 유일한 방법은 새 인수로 동일한 컴포저블을 호출하는 것이다. 이러한 인수는 UI 상태를 표현하고 상태가 업데이트 될 때마다 재구성이 실행된다. 따라서 TextField와 같은 항목은 명령현 XML 기반 뷰에서처럼 자동으로 업데이트 되지 않는다. 컴포저블이 새 상태에 따라 업데이트 되려면 새 상태를 명시적으로 알려야 한다. @Composable fun HelloContent() { Column(modifier = Modifier.padding..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCm0j4%2FbtrHicYoCri%2FYTxYaGluBqNiUQX29A8dX0%2Fimg.png)
Compose란 무엇인가
2022. 7. 14. 12:14
안드로이드/UI
선언형 프로그래밍 패러다임 지금까지 UI를 얻데이트 하는 가장 일반적인 방법은 findViewById()와 같은 함수를 사용하여 트리를 탐색하고 button.setText(String), container.addChild(View) 또는 img.setImageBitmap(Bitmap)과 같은 메서드를 호출하여 노드를 변경하는 것이다. 이러한 메서드는 위젯의 내부 상태를 변경한다. 뷰를 수동으로 조작하면 오류가 발생할 가능성이 커진다. 데이터를 여러 위치에서 렌더링한더면 데이터를 표시하는 뷰 중 하나를 업데이트 하는 것은 잊기 쉽다. 일반적으로 업데이트가 필요한 뷰의 수가 많을수록 소프트웨어 유지관리 복잡성이 증가한다. 선언형 UI 모델은 처음부터 화면 전체를 개념적으로 재생성한 후 필요한 변경사항만 적용..