Avoiding recomposition

2023. 11. 1. 18:51개발/Android

Recomposition

  • 입력 매개변수 또는 외부 상태의 변경에 따라 함수를 재구성하고 호출 하는 것. compose의 기본 개념

Stable parameters

  • StringIntFloatImmutableList

Unstable parameters

  • ListMapSet , var ( Data classes)

Avoiding Recomposition

  • @Stable 사용
    • 값이 관찰 가능해지며, 값이 변경되면 알림이 전송됨
      @Stable
      data class Contact(var flag: MutableState<Boolean> = mutableStateOf(false))

      → flag변수의 값이 변경될 때만 recomposition

  • @Immutable 사용
    • 값이 절대 변경되지 않을 것이라고 약속하는 annotation
    • 항목이 추가되거나 삭제되더라도 recomposition발생하지 않음
    @Immutable
    data class Contact(var list: ArrayList<String>)


Uploaded by N2T

'개발 > Android' 카테고리의 다른 글

Useful modifier  (0) 2023.11.30
Compose Viewpager  (1) 2023.11.01
UI Testing (with Jetpack Compose)  (0) 2023.10.23
자주 까먹는 compose modifiers  (0) 2023.10.23
Data store vs Shared preference  (1) 2023.10.23