Android 응용 프로그램 시작 시간 소모 분석
2560 단어 Android
콜드 스타트
콜드 부팅은 시스템 부팅 후 또는 어플리케이션이 시스템 킬에 의해 제거된 후 처음으로 어플리케이션을 시작합니다. 콜드 부팅은 다음 세 가지 단계를 포함합니다.
1. APP 시작 및 APP 프로세스 만들기
핫 스타트
열 가동은 가장 적은 시간을 소모하는 가동 방식으로, 이러한 방식은 응용 프로세스가 종료된 후에 다시 사용자에게 불러일으킨다.이 때 메모리에 응용 프로세스가 저장되어 있기 때문에 시스템은 응용 프로세스를 백엔드에서 백엔드로 옮기기만 하면 각종 초기화, inflate,layout, 렌더링 등의 작업을 할 필요가 없다.
난방 시동
난방 가동의 소모 시간은 상기 둘 사이에 있는데 이런 가동 방식은 다음과 같은 상황에서 발생할 수 있다.
시작 시간 경과 보기
ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms
첫 번째 프레임 화면에 적용하는 데 걸리는 시간입니다.시스템 로그이지 적용 로그가 아니므로 AS에서 보려면 No Filters 를 선택해야 합니다.가끔 토탈이 있을 때가 있는데, 아래와 같다.
ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms (total +1m22s643ms)
이런 상황이 발생한 것은 시작할 때 하나의activity만 불러오는 것이 아니라, 예를 들어 splash 페이지도 불러오기 때문이다. 예를 들어 이전 시간은 마지막의activity 불러오기 소모 시간이고, total은 시작할 때부터 현재 페이지까지 불러오기 완료 소모 시간이다
adb [-d|-e|-s ] shell am start -S -W
com.example.app/.MainActivity
-c android.intent.category.LAUNCHER
-a android.intent.action.MAIN
위 - c -a 옵션과 같이 시작 후 터미널에서 다음 시간을 출력합니다.
Starting: Intent
Activity: com.example.app/.MainActivity
ThisTime: 2044
TotalTime: 2044
WaitTime: 2054
Complete
그 중에서 ThisTime은 마지막 activity 시작 소모 시간을 나타내고, TotalTime은 모든 activity 시작 소모 시간을 나타내며, WaitTime은 AMS가 activity를 시작하는 총 소모 시간을 나타낸다.통상적인 상황에서 삼자의 관계는 다음과 같다
ThisTime <= TotalTime <= WaitTime
더욱 세분화된 시간 소모 분석은 도구를 사용하여 분석해야 한다. 정부는 AS의 Profiler, TraceView 또는 Systrace 등 해당하는 도구를 제시하여 분석해야 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.