2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
시스템 성능 도구
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 도움말에서는 성능 측정항목을 측정하는 데 사용할 수 있는 도구를 설명합니다.
부팅 시간
부팅 시간을 프로파일링하려면 Simpleperf 문서를 사용하세요.
검색하려는 이벤트를 포함하는 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
를 사용하여 정시에 찍힌 스냅샷 검사
자세한 내용을 보려면 다음을 참고하세요.
중앙 처리 장치
다음 도구를 사용하여 CPU를 쿼리할 수 있습니다.
- Android에서 실행되는 Android 앱 및 네이티브 프로세스를 프로파일링하려면 Simpleperf 문서를 사용합니다.
Android용 기본 중앙 처리 장치(CPU) 프로파일링 도구입니다. Simpleperf는 Android에서 Java 및 C++ 코드를 프로파일링할 수 있습니다. Simpleperf 실행 파일은 L 후의 Android 버전에서 실행할 수 있으며 N 후의 Android 버전에서는 Python 스크립트를 사용할 수 있습니다.
Simpleperf 문서.
자세한 내용은 Simpleperf 문서를 참고하세요.
- 앱과 상호작용하는 동안 앱의 CPU 사용량 및 스레드 활동을 실시간으로 검사하려면 CPU 프로파일러를 사용하세요.
이렇게 하면 더 빠르고 원활한 사용자 환경 제공 및 기기 배터리 수명 보존과 같은 많은 장점이 있습니다. 또한 기록된 메서드와 함수, 시스템 추적에 관한 세부정보를 검사할 수 있습니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# System performance tools\n\nThis page describes the tools you can use to measure performance metrics.\n\nBoot time\n---------\n\nTo profile boot timing, use the\n[Simpleperf](https://android.googlesource.com/platform/system/extras/+/android16-release/simpleperf/doc/README.md)\ndocumentation.\n`config.yaml` file to include events you want to search for. `config.yaml`\nshould appear as follows: \n\n```scdoc\n stop_event: \u003clogcat log message which will terminate log collection after reboot\u003e\n events:\n event1_name: \u003cpattern that matches log message\u003e\n event2_\n ...\n```\n\nOn some devices, booting the clock may display an incorrect time for the first few seconds. While\nthe bootanalyze tool can accommodate a time correction out-of-the-box, you can provide an optional\ntime correction pattern in `config.yaml`.\n[Optimizing boot times](/devices/tech/perf/boot-times) explains how to improve boot\ntime using components such as Bootloader, Device Kernel, I/O tuning, Boot animation, and the\nSELinux policy.\n\nApp start-up time\n-----------------\n\nUsers expect apps to be quick to load and responsive.\n[App Startup Time](https://developer.android.com/topic/performance/vitals/launch-time)\ndetails the internals of the launch process and discusses how to profile and optimize startup\nperformance.\n\nUser interface\n--------------\n\nUser interface (UI) performance testing ensures that your app meets functional requirements and\nthat user interactions with your app are smooth, run at a consistent 60 frames per second (see\n[Android\nPerformance Patterns: Why 60fps?](https://www.youtube.com/watch?v=CaMTIgxCSqU&index=25&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE)), and all without dropping or delaying frames.\n\nFor more information, see [Test\nUI Performance](https://developer.android.com/training/testing/performance) and\n[JankTest](https://developer.android.com/reference/android/support/test/jank/JankTest).\n\nMemory\n------\n\nYou can inspect app memory usage in one of two ways:\n\n- Over time, using `procstats`.\n- Snapshot in time, using `meminfo`.\n\nFor details, see:\n\n- To measure memory usage, see [View\n Memory Allocations](https://developer.android.com/studio/command-line/dumpsys.html#ViewingAllocations).\n- To use the Android Studio IDE to inspect memory, Android Studio provides a GUI-based memory usage tool. For details, see [View the Java Heap and\n Memory Allocations with Memory Profiler](https://developer.android.com/studio/profile/memory-profiler).\n- To conduct performance instrumentation and tracing on the Linux, Android, and Chrome platform and in user-space apps, use open source [Perfetto](https://perfetto.dev/#/).\n\nCentral processing unit\n-----------------------\n\nYou can use the following tools to query the CPU.\n\n- To profile Android apps *and* native processes running on Android, use [Simpleperf](https://android.googlesource.com/platform/system/extras/+/android16-release/simpleperf/doc/README.md) documentation.\na native central processing unit (CPU) profiling tool for Android. Simpleperf can profile Java and C++ code on Android. The Simpleperf executable can run on Android releases later than L and Python scripts can be used on Android releases later than N. \n\n[Simpleperf](https://android.googlesource.com/platform/system/extras/+/android16-release/simpleperf/doc/README.md) documentation. For details, see the [Simpleperf](https://android.googlesource.com/platform/system/extras/+/android16-release/simpleperf/doc/README.md) documentation.\n- To inspect your app's CPU usage and thread activity in real time while interacting with your app, use the [CPU Profiler](https://developer.android.com/studio/profile/cpu-profiler). Doing so has many advantages, such as providing a faster and smoother user experience and preserving device battery life. In addition, you can inspect the details of recorded method, function, and system traces."]]