Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- GitHub
- Gradle
- android
- Kotlin
- 프로그래머스
- TEST
- Coroutine
- 코루틴
- 암호학
- androidStudio
- Coroutines
- boj
- activity
- MiTweet
- AWS
- livedata
- ProGuard
- 코드포스
- Hilt
- Rxjava
- architecture
- 백준
- MyVoca
- textfield
- Compose
- Python
- 쿠링
- relay
- Codeforces
- pandas
Archives
- Today
- Total
이동식 저장소
Compose의 Stability에 관하여 본문
정말 좋은 글이다. 일독을 권한다.
Jetpack Compose Stability Explained
Have you ever measured the performance of your composable and discovered it is recomposing more code than you expect? “I thought Compose…
medium.com
요약하면
- Composable의 모든 매개변수가 immutable 또는 stable하다면 해당 composable은 skip될 수 있다.
- 어떤 composable이 skip되지 않아 성능상의 문제가 발생한다면, 먼저 unstable한 매개변수가 있는지 확인하자.
- 그래도 잘 모르겠다면 Compose compiler의 보고서를 참고해 보자.
- ``List``, ``Set`` 등의 collection 클래스는 항상 unstable하다. Kotlinx의 immutable collection을 사용하거나 해당 클래스에 ``@Immutable`` 또는 ``@Stable`` 어노테이션을 붙이자.
- Compose compiler가 없는 모듈에서 작성된 클래스는 항상 unstable하다고 간주된다. 해당 모듈에 compose compiler를 추가한 후 어노테이션을 붙이던가, UI 모듈에서 해당 클래스를 감싸는 wrapper 클래스를 작성하자.
- 물론 모든 composable이 skip 가능할 필요는 없다. 거의 recompose되지 않는 composable을 억지로 skippable하게 만들 필요는 없다.
``List``가 unstable이구나.. 화면에서 매우 큰 리스트를 사용한다면 성능 이슈가 발생할 수도?
'Primary > Compose' 카테고리의 다른 글
[Compose] 반응형 앱 구현 실전 (4) | 2022.10.20 |
---|---|
[Compose] Movable Content (0) | 2022.08.13 |
Compose가 UI를 그리는 과정 (0) | 2022.08.13 |
Compose Example - sunflower (1) | 2022.08.02 |
[Compose] 커스텀 뷰 - 세로 방향 불규칙 그리드 만들기 (0) | 2022.02.09 |
Comments