안드로이드 개발을 할 때, 성능개선이나 불필요한 부분을 확인하기 좋은 툴이 바로 "Method Profiling"이다.
1. 이클립스를 통한Method profiling.
DDMS에서 프로파일링을 할 package를 선택하고 "Start Method Profiling" 아이콘을 클릭
확인할 부분을 어느정도 수집했다고 생각했을 때 다시 한번 아이콘을 클릭하면 프로파일링이 멈추고 창에 아래와 같이 수집된 정보를 보여준다.
현재시간을 구해서 파일명으로 사용할 수 있다.
// 현재 시간을 msec으로 구한다.
long now = System.currentTimeMillis();
// 현재 시간을 저장 한다.
Date date = new Date(now);
// 시간 포맷으로 만든다.
SimpleDateFormat sdfNow = new SimpleDateFormat("yyyyMMdd_HHmmss");
String strNow = sdfNow.format(date);
2. 코딩을 통한Method profiling.
코딩을 통한 방법은 정확한 기준을 가지고, 결과들에 대한 상대적인 비교를 할 수 있어서 아주 유용하다.
AndroidManifest.xml 에 Permission사용을 추가한다.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
프로파일링을 할 소스의 시작과 끝에 하기의 함수를 추가한다.
import android.os.Debug;
Debug.startMethodTracing("file name");
//… profiling 대상
Debug.stopMethodTracing();
/sdcard/"file name".trace(저장되는 위치는 폰마다 조금씩 다를 수 있음.) 파일이 생성된다.
생성된 파일을 이클립스에 Drag해서TraceView 를 볼 수 있다.
실제 실행되는 파일은 Android SDK에 포함되어 있다. 이를 이용하여 trace view를 실행 할 수 있다.
Tool위치 : sdk\tools\traceview.bat
ex) traceview /tmp/calc
3. adb을 통한 Method profiling.
adb shell
$ am profile <PPRCESS ID> start <TRACE FILE> (프로파일링 시작)
$ am profile <PPRCESS ID> stop (프로파이링 종료)
$ am profile 17211 start /sdcard/file_name.trace
$ am profile 17211 stop
▶Trace View관련 링크
http://developer.android.com/tools/debugging/debugging-tracing.html
'SW개발' 카테고리의 다른 글
[안드로이드 Native Heap memory 확인] (0) | 2015.01.09 |
---|---|
[안드로이드]JNI빌드 및 로그 추가 (0) | 2014.12.16 |
[Android L 개발 관련 리뷰] (0) | 2014.10.02 |
[KIKAT에서 ART 테스트] (0) | 2014.09.30 |
[JSON 온라인 뷰어] (0) | 2014.09.29 |
[Eclipse에서 class 파일 소스 보기] (1) | 2014.04.23 |
[Android Framwork소스를 이용한 디버깅] (2) | 2014.03.03 |
[Android 통합로그] (0) | 2014.03.01 |
[unmappable character for encoding UTF-8] (0) | 2014.01.04 |
[Android Contact DB 확인하기] (0) | 2013.10.31 |