목록 보기
여기어때 Compose Perfomance 해결 이야기
프론트엔드

여기어때 Compose Perfomance 해결 이야기

여기어때
여기어때
2024년 12월 31일

두줄요약

여기어때는 Compose 도입 후 알림함 화면의 성능 저하 원인을 stability와 recomposition 관점에서 분석했습니다. Immutable Collection과 MutableState, derivedStateOf 조정으로 화면 성능을 개선했습니다.

문제 상황

  • 여기어때 알림함 화면에서 적은 리스트에도 스크롤 시 화면 끊김과 과도한 recomposition 발생
  • Compose 도입 후 성능 저하 원인으로 안정성(stability)과 스킵(skiippable) 여부 점검 필요

원인 분석

  • var가 포함된 NotificationItem으로 인해 unstable 판정
  • List 같은 컬렉션과 derivedStateOf 구성 방식 때문에 불필요한 recomposition 반복

해결 방법

  • UI 모델을 val 기반으로 정리하고 kotlinx.collections.immutable의 Immutable List 적용
  • MutableState를 활용해 변경 감지 가능한 상태로 분리하고, derivedStateOf를 한 번에 계산하도록 조정

적용해볼 점

  • Compose compiler report와 Layout Inspector로 stability, skippable, recomposition 상태 점검
  • mutable 상태와 컬렉션 사용 위치를 다시 검토해 불필요한 재구성 최소화

댓글 0

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

댓글을 불러오는 중...