반응형
안녕하세요 푸민입니다.
안드로이드에서 기능 퍼포먼스 체크를 할때 시간을 체크하여서 주로 판단하였는데요. 시간을 체크하는 방법이 어떤게 있는지 알아보겠습니다.
System.currentTimeMillis();
System.nanoTime();
Debug.threadCpuTimeNanos();
SystemClock.currentThreadTimeMillis();
SystemClock.elapsedRealtime();
SystemClock.uptimeMillis();
또한 안드로이드 퍼포먼스에 큰 영향을 끼치는 것은 아래와 같습니다.
- 코드 실행
- 데이터 전송
- 위치 추적
- 센서 사용
- 이미지 렌더링
특히나 안드로이드의 경우는 그래픽 레이아웃을 최소화 해야합니다. 액티비티가 호출되면서 onCreate() 가 호출되고 setContentView() 가 호출되면
1단계 : 안드로이드가 어플리케이션 리소스 데이터를 읽어들입니다.
- 리소스 데이터는 APK 파일 안이나 내부장치, SD 카드 등에 저장되어 있습니다.
2단계 : 리소스 데이터가 파싱되고 레이아웃이 인플레이트 됩니다.
3단계 : 인플레이트된 레이아웃이 액티비티 최상위 뷰가 됩니다.
이처럼 진행을 하면서 리소스 데이터가 클수록 오래 걸리고, 또한 뷰그룹의 깊이가 깊을 수록 오래걸립니다.
또 멀티스레드가 영향을 많이 미치는데 스레드를 사용할 경우 setPriority() 를 호출하여 우선순위를 설정해 주면 상당히 퍼포먼스를 높일 수 있습니다.
반응형
'Development > Android' 카테고리의 다른 글
[안드로이드] 프로가드 적용하기! Proguard! (0) | 2015.10.22 |
---|---|
[안드로이드] Android 국가코드 얻어오기 및 정렬 (0) | 2015.10.21 |
[안드로이드] Android ImageView ScaleType 속성 (0) | 2015.10.19 |
[안드로이드] Android 세계 시간 출력하기. (0) | 2015.10.18 |
[안드로이드] 전화, 연락처, 문자 등 각종 인텐트 사용법 (0) | 2015.10.17 |
댓글