traceview
[ 예제로 시작하는 안드로이드 개발(에이콘/릭 로저스 외 지음/ 978-89-6077-097-3) ]
APP이 제대로 동작한다고 해도 너무 느릴 수 있다. 애플리케이션 내 메소드가 서로 어떻게 상호작용하는지 알고 각 메소드에서 머무는 시간이 얼마인지 측정할 수 있다.
이 프로그램은 두 개의 부분으로 나뉘는데 첫째는 애플리케이션을 실행하기 전에 돌려야 하고, 나머지 부분은 실행을 마치고 나서 분석하기 위해 돌려야 한다.
런타임 데이터 수집
애플리케이션 로그를 켜거나 끌 수 있다. 이 기능을 켜두면 트레이스 수집용 메소드가 애플리케이션에 링크돼 타겟 시스템에 바이너리 트레이스 파일을 만든다. 이 트레이스 파일에는 모든 메소드 초기화와 각 메소드에서 머문 시간의 기록이 있다.
트레이스 분석
이 바이너리 트레이스 파일을 타겟 장치에서 컴퓨터로 복사한 후 트레이스 분석 프로그램을 돌려 파일의 모든 정보를 그래픽 환경에서 볼 수 있다. 애플리케이션이 어느 메소드에서 가장 많은 시간을 소비하는지, 그리고 해당 메소드는 또 어느 메소드를 호출 하고, 거기에서는 얼마나 많은 시간을 소비하는지를 알아볼 수 있다.
트레이스 데이터 수집
- 애플리케이션에 디버그 패키지(android.os.Debug)를 import한다.
- 트레이스 정보 수집을 시작하려는 지점에서 Debug.startMethodTracing()을 호출한다.
- 수집을 멈추려는 지점에서 Debug.stopMethodTracing()을 호출한다.
이 메소드는 항상 트레이스 정보를 타겟 시스템의 SD 카드에 저장한다.
$ adb pull sdcard/x.trace x.trace
$ traceview [pathname]x.trace
Traceview_A_Graphical_Log_Viewer.pdf



