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 | 29 | 30 |
Tags
- Rxjava
- 코루틴
- TEST
- activity
- 암호학
- Codeforces
- MiTweet
- 프로그래머스
- relay
- 백준
- Compose
- pandas
- textfield
- android
- Kotlin
- GitHub
- Coroutines
- boj
- livedata
- MyVoca
- Python
- Hilt
- 코드포스
- Coroutine
- ProGuard
- architecture
- 쿠링
- Gradle
- androidStudio
- AWS
Archives
- Today
- Total
이동식 저장소
Compose의 Stability에 관하여 본문
정말 좋은 글이다. 일독을 권한다.
요약하면
- 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