일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Compose
- coroutine flow
- O.S
- 다단계 큐
- git
- design pattern
- 깃허브
- Class.class
- 마크다운
- android study jam
- Spring Boot
- Constraint Layout
- Android
- SOLID
- test
- JUnit
- JetPack
- LiveData
- OS
- spring
- Di
- 운영체제
- markdown
- 리드미
- readme
- kotlin
- Data Binding
- 데드락
- github
- 더티비트
- Today
- Total
목록Compose (3)
차지

프레임의 3가지 단계 Composition → Layout → Drawing 1. Composition Composable이 생성되는 단계입니다. 생성이 되면 다음 단계를 수행합니다. 2. Layout measurement, placement 두 단계가 존재합니다. 재배치를 하더라도 재측정을 하지는 않습니다. 3. Drawing Canvas를 호출하거나 draw관련 메서드를 호출하면 실행합니다. State 읽기 최적화 Box { val listState = rememberLazyListState() Image( // Non-optimal implementation! Modifier.offset( with(LocalDensity.current) { // State read of firstVisibleIte..

Side effects 일반적인 수명주기에서 더 복잡한 작업을 수행할 때 Side Effects를 필요로 합니다. LaunchedEffect Composable 내에서 suspend 함수를 호출할 때 사용 매개변수 중 하나가 변경되면 재호출 ex) 스낵바 호출, 스크롤 등의 일반적인 동작 rememberCoroutineScope Composable 외부에서 코루틴 실행할 때 사용 ex) 다른 composable을 취소시키는 비동기 동작 rememberUpdatedState 값이 변경되더라도 recomposition되지 않는 효과에서 값 참조 @Composable fun LandingScreen(onTimeout: () -> Unit) { // This will always refer to the late..

이 글은 RecyclerView로 구성된 한 화면을 Compose로 변경해보며 느낀점과 compose의 기본 개념을 서술합니다. Compose의 특징 적은 수의 코드 손쉬운 유지보수 실시간 미리보기 기능 빠른 개발시간 선언형 프로그래밍 화면 전체를 개념적으로 재생성한 후 변경사항만 적용하는 방식을 적용할 수 있었습니다. 적용 이유와 후기 기존 코드를 migration하며 차이를 느껴보고 싶었습니다. RecyclerView를 작성하는 과정에서 코드 수가 크게 감소했다. compose는 성능이 좋지 않다는 이야기가 있습니다. 성능 이슈는 타인의 말을 들어서는 크게 와닿지 않았습니다. 직접 비교하기 위해 기존 코드를 compose로 변경했습니다. 의도한 대로 성능의 차이를 느끼지는 못했다. 하지만 성능을 생각..