어떤 응용 프로그램을 실행하고시작 시간
시작 시간
답변
흠 - 먼저 정확하게 말하면 안드로이드에서 응용 프로그램보다는 활동을 시작한다는 것을 지적해야합니다!
응용 프로그램의 시작 지점이 LAUNCH 의도를 처리하는 활동이기 때문에 질문을 "활동 시작 시간 측정 방법"으로 해석 할 수 있습니다.
여기서는 Activities 라이프 사이클을 살펴 보시기 바랍니다 : https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle.
멋진 그래프를 보면 시작 시간이 본질적으로 onCreate()
, onStart()
및 onResume()
에 소비 된 시간임을 알 수 있습니다.
이것을 측정하려면 traceview을 사용하는 것이 좋습니다. 실제로 시간을 보냈던 모든 세부 정보가 표시됩니다. onCreate()
의 시작 부분에 Debug.startMethodTracing("startUp");
을 사용하여 추적을 시작하고 onResume()
의 끝에 추적을 끝내고 Debug.stopMethodTracing();
으로 추적을 시작하십시오.
onCreate()
은 인스턴스 당 한 번만 호출되기 때문에 onResume()
을 여러 번 호출해도 걱정할 필요가 없습니다.이 메서드는 stop 메서드를 두 번 호출하므로 아무런 해가되지 않습니다.
재미있게 보내십시오 - 나는 트레이스 뷰의 가능성을 아주 좋아합니다!
좋은 조언 주셔서 감사합니다! 추적보기는 http://developer.android.com/tools/debugging/debugging-tracing.html에서 확인할 수 있습니다. Application 클래스 인스턴스는 Activity 이전에 시작되므로 Application.onCreate()에 측정을 시작해야합니다. – kotucz
을 위해 빠른 내가 사용하는 것이 로그 캣 (이 일부 코드를 다음의 더 나은 일을 할 수있는 경우) 안드로이드에 출시 시간을 계산하는 가장 좋은 방법은 , 다음과 같이 입력하십시오.
더 큰 작업을 수행하려면 Traceview을 시도하십시오.
위의 답변 범위에서 JIT로 인해 Traceview가 실시간으로 제공 할 수없는 것은 프로파일 링 중에 해제되어 있습니다. Traceview는 소스 코드를 실행하는 시간을 모니터링하는 쓸모없는 도구입니다. (Traceview는 위에서 언급 한 startMethodTracing() 및 stopMethodTracing()과 함께 Debug 클래스를 사용하여 stacktrace를 확인하는 데 유용한 도구입니다).
나는 (예를 들어 이클립스 플러그인을 통해) systrace를 사용하는 것이 좋습니다. 이것은 실행의 실시간 (및 많은 다른 기능)을 계산하는 데 가장 좋은 도구입니다.
은 자세한 내용을 살펴 가지고 : 가끔은 Systrace이 작동하지 않습니다하려면, 또한 http://developer.android.com/tools/debugging/systrace.html
을 (FS 매핑에서 따라 다름).
당신은 의 올바른으로 '시스템 \ 코어 \ ROOTDIR \ init.rc'를 확인해야 'debugfs의' 장착. 로해야합니다 는 'debugfs의/SYS/커널/디버그/SYS/커널/디버그 마운트'
이있을 것입니다에서 응용 프로그램의 실행 시간을 표시하는
system_process I/ActivityManager﹕ Displayed com.android.vending/com.google.android.finsky.activities.MainActivity: +549ms
같은 자동 로그 뭔가 사용자가 앱에 입력하면 사용자와 더욱 상호 작용할 준비가됩니다. ActivityManager에서 가져온 것입니다.
또한 log를 사용하여 onCreate()에서 onResume까지의 시간을 측정하는 것이 좋습니다. 이 정보는 API 버전 19 이상 기본적으로 로그 캣에 기록됩니다
-
당신은 대답 here을 찾을 수 있습니다. 당신이 찾는 명령 줄에서 로그 캣 출력을 추적, 또는 터미널의 경우 경과 시간은 간단
- 의 핵심은 바로 이곳에서 찾고 입니다. Android Studio에서 경과 시간을 찾으려면 logcat보기에서 필터를 사용 중지해야합니다. 앱 자체가 아닌 시스템 서버가이 로그를 제공하기 때문에 필터를 사용하지 않도록 설정해야합니다.
다음은 설명서의 예제입니다.
ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms
추출물은 documentation에서입니다.
- 1. Eclipse : 느린 시작 시간
- 2. 리눅스에서 프로세스 시작 시간
- 3. jboss 5 시작 시간?
- 4. Windows 서비스 시작 시간
- 5. 실행중인 프로세스 시작 시간
- 6. QTimer 특정 시간 시작
- 7. ClickOnce 시작 메뉴 링크에서 시작 시간
- 8. XML 시작 시간 및 종료 시간
- 9. 현재 시간 이전의 석영 트리거 시작 시간
- 10. Windows 서비스 시작 시간 초과
- 11. 유창한 nHibernate 느린 시작 시간
- 12. 속도 향상 BLToolkit 시작 시간
- 13. 날짜 시간 선택기 - 시작 날짜 및 시간 설정
- 14. 특정 시간 또는 특정 시간 후에 SharePoint 워크 플로 시작
- 15. Unity 기반 응용 프로그램의 느린 시작 시간
- 16. Symfony 양식 시작 및 종료 시간 위젯
- 17. 아이폰 앱의 시작 종료 시간 Alloooooooooooooooooooo
- 18. 터치 시작 시간과 터치 종료 시간
- 19. iPhone 응용 프로그램 시작 시간 줄이기
- 20. iPhone 응용 프로그램 시작 시간 지침
- 21. 스칼라 스크립트 시작 시간 개선 - 클라이언트 모드?
- 22. 응용 프로그램 시작 시간 제한이 applicationDidFinishLaunching으로 제한됩니까?
- 23. ASP.Net의 사전 컴파일 및 시작 시간
- 24. 응용 프로그램 서버 시작 시간 비교?
- 25. 기본 설정에서 시작 시간 및 종료 시간 시간 선택기를 어떻게 만듭니 까?
- 26. 이벤트의 제목을 여러 날짜에 걸쳐있을 때 '시작 시간 - 종료 시간'에서 '시작 날짜 시간 - 종료 날짜 시간'으로 변경
- 27. PST 날짜를 기준으로 UTC로 시작 및 종료 날짜 시간 생성
- 28. 인식 된 WPF 응용 프로그램 시작 시간 향상
- 29. 알람 관리기 시작 서비스는 매 시간마다이 파일을 다운로드하는 시간 제한
- 30. Tomcat에서 Eclipse 시작 - 디버그 모드 - 시간 초과 오류
응용 프로그램을 시작한 시점이나 응용 프로그램이 사용 가능하게 된 시간을 측정 하시겠습니까? –
차이점은 무엇입니까 ... 화면이 표시 될 때 (실제로 내가 의미하는 것) –
내 대답은 여기에보세요 - http://stackoverflow.com/a/33994484/2308720 – Oleksandr