성능 문제가 발생한 위치와 최적화를 시작할 코드를 파악하기는 쉽지 않습니다. 도구를 사용하면 문제 발생 위치를 좁힐 수 있습니다.
Layout Inspector
Layout Inspector를 사용하여 레이아웃을 검사하고 리컴포지션 수를 확인하세요.
UI 성능이 낮은 경우는 종종 UI가 과도하게 재구성되어야 하는 코딩 오류로 인한 것입니다. 반대로 코딩 오류로 인해 UI가 재구성되어야 할 때 재구성되지 않는 경우도 있습니다. 즉, UI 변경사항이 화면에 표시되지 않습니다. 재구성을 추적하면 이러한 종류의 문제를 모두 찾는 데 도움이 됩니다.
재구성 자체는 나쁘지 않으나 예기치 않은 재구성은 문제가 될 수 있습니다. 재구성 횟수는 벤치마크를 대체하지 않습니다. 컴포저블을 건너뛰면 슬롯 테이블 및 매개변수 비교 오버헤드가 발생하며, 컴포지션이 예약되면 단일 중간 컴포저블을 건너뛰어도 빠르게 변경되는 상태 읽기를 레이아웃 또는 그리기 단계로 지연하는 것에 비해 시간이 거의 절약되지 않습니다. 항상 컴포지션 트레이싱과 Macrobenchmark를 사용하여 성능 변화를 확인하세요.
자세한 내용은 Layout Inspector 리컴포지션 횟수 문서를 참고하세요.
컴포지션 추적
컴포지션 추적을 사용하여 시스템 트레이스에서 구성 가능한 함수를 추적하세요. 추적은 성능 문제를 처음 살펴볼 때 가장 좋은 정보 출처입니다. 이를 바탕으로 문제가 무엇이고 어디서부터 살펴보아야 하는지에 관한 가설을 세울 수 있습니다.
추가 리소스
- 앱 성능 가이드: Android에서 성능을 개선하는 권장사항, 라이브러리, 도구를 알아봅니다.
- 성능 검사: 앱 성능을 검사합니다.
- 벤치마킹: 앱 성능을 벤치마킹합니다.
- 앱 시작: 앱 시작을 최적화합니다.
- 기준 프로필: 기준 프로필을 이해합니다.