앱 성능 프로파일링

반응이 느리고 애니메이션이 끊기거나 화면이 정지되거나 전력이 너무 많이 소모됨 성능 문제를 해결하는 과정에서 앱을 프로파일링하거나 앱이 비효율적인 영역을 파악하는 작업 CPU, 메모리, 그래픽, 네트워크 또는 장치와 같은 배터리 수명을 연장할 수 있습니다. 이 주제에서는 Android 스튜디오 도구 및 기술을 사용하여 일반적인 성능 문제를 해결할 수 있습니다.

전체 Android를 실행하지 않고 독립형 프로파일러를 실행하는 방법을 알아봅니다. 스튜디오 IDE (Windows 또는 Linux만 해당)는 다음을 참고하세요. 독립형 프로파일러를 실행합니다.

요구사항

앱을 프로파일링하려면 다음 항목이 필요합니다.

  • profileable 매니페스트가 있는 출시 빌드 변형이 있는 앱 프로파일링 가능한 앱이라고도 합니다. 기본적으로 앱에는 true로 설정됩니다. 이 구성을 확인하거나 변경하려면 다음을 여세요. 앱의 매니페스트 또는 AndroidManifest.xml 파일을 확장하고 <application> 섹션 profileable 매니페스트 구성:

    <profileable android:shell="true" />
    
  • API 수준 29 이상을 실행하고 Google Play

  • Android Gradle 플러그인 7.3 이상

프로파일링 가능한 앱과 디버그 가능한 앱

프로파일링 가능한 앱을 사용하면 대부분의 일반적인 프로파일링 작업을 실행할 수 있지만 Java/Kotlin 할당을 기록하거나 힙 덤프를 캡처해야 하는 경우 대신 디버그 가능한 앱을 사용해야 합니다. 디버그 가능한 앱 프로세스 및 실행 중인 기기 API 수준 26 이상에서는 상호작용 타임라인도 볼 수 있습니다. 사용자 상호작용 및 앱 수명 주기 이벤트를 제공하는 작업 뷰에 표시

디버그 가능한 앱은 앱의 debug 빌드 변형을 기반으로 하며 다음을 가능하게 합니다. 디버거와 같은 개발 도구 사용 하지만 약간의 성능 비용이 발생할 수 있습니다 프로파일링 가능한 앱은 release 빌드를 기반으로 합니다. 일반적인 프로파일링 작업의 하위 집합을 활성화하여 디버그 빌드의 성능 오버헤드에 영향을 줍니다.

프로파일링 가능한 앱 빌드 및 실행

Android 스튜디오에서 프로파일링 가능한 앱을 빌드하고 실행하려면 다음 단계를 따르세요.

  1. 실행/디버그 구성 생성: 있습니다.
  2. 출시 빌드 변형 (Build > Select Build Variant)을 선택합니다.
  3. More actions(추가 작업)를 클릭합니다. &gt; 프로필 '앱' 오버헤드가 낮습니다. 또는 '앱' 프로파일링 온전한 데이터를 얻기 위해 'app'은 실행 구성의 이름이므로 합니다. 두 옵션 중 하나를 선택하려면 요구사항을 참고하세요. 테스트 기기에서 앱이 열리고 Android에서 Profiler 창이 열립니다. 있습니다.

이 안내가 적용되지 않으면 프로파일링 가능한 앱 빌드 및 실행하기를 참고하세요. 수동으로 해야 합니다.

프로파일링 시작

프로파일링 작업을 시작하려면 다음 단계를 따르세요.

  1. Profiler 탭에 있는 목록에서 프로세스를 선택합니다. 창을 닫을 수 있습니다. 대부분의 경우 앱을 나타내는 최상위 프로세스를 선택하는 것이 좋습니다.

    Profiler 홈 탭
  2. Tasks 섹션에서 프로파일링 작업을 선택합니다. 자세한 내용은 이 섹션의 다른 페이지를 참조하세요. 모든 프로파일링 태스크가 사용할 수 있습니다 어디서부터 시작해야 할지 모르겠다면 실시간으로 앱을 검사하여 실적 활동을 전반적으로 살펴보세요.

  3. Start profiler task from 드롭다운을 사용하여 프로파일러 작업을 시작하거나 실행 중인 프로세스에 첨부하세요. 앱 시작 시간을 개선하거나 앱 시작 중에 발생하는 프로세스를 캡처하려는 경우 시작을 포함해야 합니다. 그 외의 경우에는 앱의 현재 상태에서 프로파일링을 시작할 수 있습니다.

  4. 프로파일러 작업 시작을 클릭합니다. 작업이 자체 탭에서 시작됩니다.

  5. 활동이 트리거되도록 앱과 상호작용합니다.

  6. 기록을 중지하고 (해당하는 경우) 파싱이 완료될 때까지 기다린 후 있습니다.

trace 비교, 내보내기, 가져오기

프로파일링 작업을 중지하면 자동으로 과거에 저장됩니다. Profiler 창 내의 Recordings 탭 저장된 녹화 파일을 사용하여 여러 시나리오의 리소스 사용량을 비교할 수 있습니다. 녹화 파일은 다음과 같습니다. 현재 Android 스튜디오 세션 동안 저장됩니다. 원한다면 더 오래 보관하려면 녹화 파일 내보내기를 클릭하여 내보내세요. 입니다. 일부 trace 유형은 내보낼 수 없습니다.

예를 들어 이전에 Android 스튜디오를 실행한 상태에서 트레이스를 가져오려면 다음을 클릭합니다. 녹음 파일 가져오기 <ph type="x-smartling-placeholder"></ph> 이전 기록 탭에서 추적 파일을 선택합니다. 파일을 Android 스튜디오 편집기 창으로 드래그하여 가져올 수도 있습니다.

기록 구성 수정

프로파일러 작업 기록 구성을 편집하려면 프로파일러 설정을 클릭합니다. 전환할 수 있는 두 가지 기본 설정은 다음과 같습니다.

  • 샘플링이 포함된 태스크의 경우 샘플 간격은 각 샘플 간의 시간을 나타냅니다. 더 짧은 간격을 지정할수록 기록된 데이터의 파일 크기 한도에 더 빠르게 도달할 수 있습니다.
  • 파일 크기 제한은 쓸 수 있는 데이터의 양을 나타냅니다. 연결되어 있는지 확인합니다. 기록을 중지하면 Android 스튜디오에서 이 데이터를 파싱합니다. 프로파일러 창에 표시합니다 한도를 늘리고 Android Studio가 파일을 파싱하는 데 훨씬 더 오래 걸리고 될 수 있습니다.