Android 앱 성능 분석

4261 단어 안드로이드성능
이 기사에서는 Android 앱의 성능 향상을 위한 구문 분석 방법에 대해 설명합니다.

준비



성능을 분석하는 방법에는 여러 가지가 있지만 여기에서는 "Systrace 명령줄 도구"를 사용합니다.

Systrace 명령을 사용하려면 Android SDK와 Python (2.7)이 필요합니다.
h tps:// 퀵했다. 소 m/요시히로-카토/있어 MS/1C4FB816782 그림 6아 8 아바 8 그림

맞춤 이벤트

처리에 시간이 걸릴 것 같은 부분에 커스텀 로그를 넣습니다.
※어느 쪽에 시간이 걸리고 있는지 모르는 경우는, 넓은 범위에 넣어 보면 좋다.

사용자 정의 로그는 아래와 같이 Trace.beginSection과 Trace.endSection을 쌍으로 구현합니다.

TextViewSampleActivity.kt
class TextViewSampleActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        Trace.beginSection("TextViewSampleActivity#onCreate")
        ...
        Trace.endSection()
    }
}

Systrace 얻기



먼저 다음 명령을 실행합니다.
※systrace.py는 SDK 안에 있으므로 경로는 실행 환경에 맞게 다시 작성해 주십시오.
※커스텀 이벤트를 취득하려면 프로세스 이름 의 지정(--app)이 필요합니다.
※-o로 출력 파일명을 지정합니다.
python /Users/yoshihiro/Library/Android/sdk/platform-tools/systrace/systrace.py --app=com.ykato.sample.kotlinsampleapplication -o mynewtrace.html sched freq idle am wm gfx view binder_driver hal dalvik camera input res

위의 명령을 실행하면 다음이 콘솔에 표시됩니다.
아래가 표시되면, 퍼포먼스 해석을 실시하고 싶은 조작을 실시해 주세요.
Starting tracing (stop with enter)

작업이 끝나면 콘솔에서 Enter 키를 누르십시오.
Tracing completed. Collecting output...
Outputting Systrace results...
Tracing complete, writing results

Wrote trace HTML file: file:///Users/ykato/Documents/tmp/mynewtrace.html

Systrace 분석



Systrace의 취득 결과의 해석은, 이하의 URL로부터 실시합니다.
htps : // 음. 페르 흠. 에서 v

왼쪽 툴바 상단의 "Open trace file"에서 결과를 확인할 파일을 선택합니다.


취득 결과는 프로세스마다 표시되고 화면 상단의 검색창에서 Trace.beginSection에서 지정한 sectionName을 검색하여 해석 대상을 쉽게 찾을 수 있습니다.


위의 경우에는 TextViewSampleActivity#onCreate가 223ms 걸린다는 것을 알 수 있습니다.

취득 결과의 표시 조작에 대한 자세한 내용은 아래를 참조하십시오.
htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m / 토피 c / 페르 후 r 만세 / t 라신 g / 나 ぃ가 테레 포 rt? hl = 그럼 # 케 y 보아 rd 쇼 rt ts

보충



왼쪽 툴바의 맨 위에 있는 "Open with legacy UI"에서 결과를 열어 표시 성능에 문제가 있는 위치(프레임 경고)를 확인할 수 있습니다.


legacy UI도 프로세스별로 표시됩니다.
프레임 경고는 원으로 둘러싸인 F로 표시되고 문제가 있는 부분은 빨간색과 노란색으로 표시됩니다.


참고

좋은 웹페이지 즐겨찾기