Skip to content

[다함] SwitUI 성능 쉽게 이해하기

MaraMincho edited this page Jul 26, 2024 · 1 revision

SwiftUI 성능 쉽게 이해하기

SwiftUI는 복잡하고 강력한 앱을 쉽게 만들 수 있는 도구입니다. 간단한 앱에서는 성능 문제가 크게 눈에 띄지 않지만, 앱이 복잡해질수록 성능 문제는 중요해집니다. 이 세션에서는 SwiftUI 성능을 최적화하는 방법을 알아보겠습니다. 성능 문제를 미리 예방하고, 발생한 문제를 해결하는 과정을 통해 앱의 성능을 유지하는 방법을 이해할 것입니다.

성능 문제 해결 과정

성능 문제는 증상에서 시작합니다. 내비게이션 푸시가 느리거나 애니메이션이 끊기는 등의 문제가 발생하면, 첫 번째 단계는 문제를 측정하는 것입니다. 문제의 원인을 파악하고 최적화하여 해결한 후, 다시 측정하여 문제가 해결되었는지 확인합니다. 이 과정을 통해 성능 문제를 해결할 수 있습니다.

SwiftUI 성능 최적화 팁

  • 업데이트 횟수 줄이기:

    • SwiftUI의 printChanges 메서드를 사용하여 뷰의 업데이트 이유를 확인할 수 있습니다.
    • 뷰의 종속성을 최소화하여 불필요한 업데이트를 줄입니다.
    • 하지만 매우큰 struct를 만들게 된다면 자주 업데이트가 발생하니 조심해야합니다.
  • 비싼 연산 피하기:

    • 본문 안에서 비싼 연산(예: 문자열 보간, 데이터 필터링)을 피하고 가능한 한 간단하게 유지합니다.
    • 데이터 로딩을 비동기적으로 처리하여 반응성을 높입니다.
  • 리스트와 테이블 최적화:

    • 리스트와 테이블의 아이덴티티를 이해하고 효율적으로 구성합니다.
    • ForEach의 제네릭 서명을 사용하여 리스트의 성능을 평가하고 최적화합니다.
    • 조건부 뷰를 사용하여 필터링할 때, 데이터 컬렉션으로 필터를 옮겨 연산 비용을 줄입니다.

ETC

  • printChanges는 성능에 영향을 줄 수 있으니 반드시 지우길 바람
  • "행"이란 사용자 상호작용에대한 반응이 늦어지는 것 입니다.
  • "하치"란 사용자가 감지할 수 있는 애니메이션 문제 입니다.
Clone this wiki locally