목록 보기
Compose에서 Stable을 가볍게 보면 안 되는 이유: 베드 케이스로 본 안정성의 법칙 Part 1
프론트엔드

Compose에서 Stable을 가볍게 보면 안 되는 이유: 베드 케이스로 본 안정성의 법칙 Part 1

여기어때
여기어때
2025년 9월 3일

두줄요약

Compose Stability가 재구성과 성능에 미치는 영향을 여러 객체 유형으로 비교해 설명했습니다. @Stable과 @Immutable은 단순 최적화가 아니라 계약이므로 신중히 사용해야 합니다.

핵심 내용

  • Android Compose에서 Stability가 재구성 skip과 성능에 직접 영향을 주는 핵심 요소라는 점을 베드 케이스 실험으로 검증
  • 일반 class, data class, @Stable, @Immutable, strong skipping mode 조합별로 recomposition skip 여부를 비교
  • stable 여부에 따라 객체 비교 방식이 달라지고, public property의 변경 가능성에 따라 컴파일러의 판단도 달라짐
  • @Stable, @Immutable은 단순 최적화 도구가 아니라 컴파일러와의 계약에 가깝고, 잘못 사용하면 재구성이 막힐 수 있음

적용해볼 점

  • 프로젝트에서 Compose skip이 어떤 기준으로 발생하는지 점검
  • @Stable, @Immutable을 남용하지 말고 모델의 안정성 보장 여부를 먼저 확인
  • strong skipping mode 적용 시 unstable 객체의 skip 동작도 함께 검토

다음 읽기

#Android 주제를 이어서 읽기

Compose에서 Stable을 가볍게 보면 안 되는 이유: LazyList 안정성 가이드 Part 2

LazyColumn 최적화에서 key와 stable 상태가 recomposition 범위에 큰 영향을 준다고 설명했습니다. 아이템 상태와 리스트 변경 방식에 맞는 모델을 선택하는 것이 중요하다고 정리했습니다.

여기어때
여기어때
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...