Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

Android 도구 및 인프라

이 도움말에서는 성능 측정항목을 측정하고 사용자 인터페이스를 테스트하는 데 사용할 수 있는 도구를 설명합니다.

시스템 성능 도구

부팅 시간

부팅 시기를 프로파일링하려면 bootanalyze 도구를 사용합니다. 특정 제품마다 검색할 이벤트를 포함하도록 config.yaml 파일을 수정하면 됩니다. config.yaml은 다음과 같이 표시되어야 합니다.

  stop_event: <logcat log message which will terminate log collection after reboot>
  events:
    event1_name: <pattern that matches log message>
    event2_
    ...

일부 기기에서는 시계를 부팅하면 처음 몇 초 동안 잘못된 시간이 표시될 수 있습니다. bootanalyze 도구는 처음부터 시간 수정을 사용할 수 있지만, 개발자가 config.yaml에 시간 수정 패턴 옵션을 제공할 수도 있습니다. 부팅 시간 최적화에서는 부트로더, 기기 커널, I/O 미세 조정, 부팅 애니메이션, SELinux 정책과 같은 구성요소를 사용하여 부팅 시간 개선 방법을 설명합니다.

앱 시작 시간

사용자는 앱이 빠르게 로드되고 응답하기를 기대합니다. 앱 시작 시간에서는 출시 프로세스 내부의 세부정보를 설명하고 시작 성능을 프로파일링 및 최적화하는 방법을 설명합니다.

사용자 인터페이스

사용자 인터페이스(UI) 성능 테스트를 통해 앱이 기능 요구사항을 충족하는지, 프레임 생략이나 지연 없이 사용자의 앱 상호작용이 원활하며 초당 60프레임으로 일관되게 실행(Android 성능 패턴: 60fps를 사용해야 하는 이유)되는지 확인할 수 있습니다.

자세한 내용은 UI 성능 테스트JankTest를 참고하세요.

메모리

다음 두 가지 방법 중 하나로 앱 메모리 사용량을 검사할 수 있습니다.

  • procstats를 사용하여 시간이 경과됨에 따른 메모리 사용량을 검사합니다.
  • meminfo를 사용하여 정시에 찍힌 스냅샷을 검사합니다.

자세한 내용을 보려면 다음을 참고하세요.

중앙 처리 장치

  • Android에서 실행되는 Android 애플리케이션 네이티브 프로세스를 프로파일링하려면 Android용 기본 중앙 처리 장치(CPU) 프로파일링 도구인 Simpleperf를 사용합니다. Simpleperf는 Android에서 자바 및 C++ 코드를 프로파일링할 수 있습니다. Simpleperf 실행 파일은 L 이후의 Android 버전에서 실행할 수 있으며 N 이후의 Android 버전에서는 Python 스크립트를 사용할 수 있습니다.

    Simpleperf는 Android 오픈소스 프로젝트의 일부입니다. 소스 코드는 Simpleperf에 있습니다. 자세한 내용은 Simpleperf 문서를 참고하세요.

  • 앱과 상호작용하는 동안 앱의 CPU 사용량 및 스레드 활동을 실시간으로 검사하려면 CPU 프로파일러를 사용하세요. 이렇게 하면 더 빠르고 원활한 사용자 환경 제공 및 기기 배터리 수명 보존과 같은 많은 장점이 있습니다. 또한, 기록된 메서드, 함수, 시스템 추적의 세부정보를 검사할 수 있습니다.

사용자 인터페이스 테스트 및 프레임워크

UI와 프레임워크를 테스트하려면 다음 도구를 사용하세요.

  • 엔드 투 엔드 사용자 인터페이스 테스트를 자동화하려면 UI Automator 및 AOSP와 함께 제공되는 오픈소스 자동 전용 도우미를 사용하세요.

  • 엔드 투 엔드 블루투스 연결 테스트를 자동화하려면 오픈소스 Google Mobly 프레임워크를 사용하세요.

  • 간결하고 아름답고 안정적인 Android UI 테스트를 작성하려면 Espresso를 사용하세요.

  • Android 테스트를 로컬로 빌드, 설치 및 실행하려면 Atest 명령줄 도구를 사용하세요.

    $ atest [optional-arguments] test-to-run
    
  • Android 코드를 테스트하려면 Robolectric을 사용하세요(테스트는 워크스테이션의 JVM에서 몇 초 이내에 실행됨).