본문 바로가기
Development/Android

[안드로이드] Android 퍼포먼스 체크하기

by 푸민 2015. 10. 20.
반응형


안녕하세요 푸민입니다.

안드로이드에서 기능 퍼포먼스 체크를 할때 시간을 체크하여서 주로 판단하였는데요. 시간을 체크하는 방법이 어떤게 있는지 알아보겠습니다.


System.currentTimeMillis();

 

System.nanoTime();

 

Debug.threadCpuTimeNanos();

 

SystemClock.currentThreadTimeMillis();

 

SystemClock.elapsedRealtime();

 

SystemClock.uptimeMillis();


또한 안드로이드 퍼포먼스에 큰 영향을 끼치는 것은 아래와 같습니다.


- 코드 실행


- 데이터 전송


- 위치 추적


- 센서 사용


- 이미지 렌더링


특히나 안드로이드의 경우는 그래픽 레이아웃을 최소화 해야합니다. 액티비티가 호출되면서 onCreate() 가 호출되고 setContentView() 가 호출되면


1단계 : 안드로이드가 어플리케이션 리소스 데이터를 읽어들입니다.

- 리소스 데이터는  APK 파일 안이나 내부장치, SD 카드 등에 저장되어 있습니다.


2단계 : 리소스 데이터가 파싱되고 레이아웃이 인플레이트 됩니다.


3단계 : 인플레이트된 레이아웃이 액티비티 최상위 뷰가 됩니다.


이처럼 진행을 하면서 리소스 데이터가 클수록 오래 걸리고, 또한 뷰그룹의 깊이가 깊을 수록 오래걸립니다. 


또 멀티스레드가 영향을 많이 미치는데 스레드를 사용할 경우 setPriority() 를 호출하여 우선순위를 설정해 주면 상당히 퍼포먼스를 높일 수 있습니다.

반응형

댓글