ART(Android Runtime) 소개

안드로이드 팀에서 2년간 개발한 새 런타임을 공개하였습니다. 이에 연관되어 변화되는 점들을 정리해 봅니다.

기존 앱이 문제를 일으킬 수 있다

Kitkat 4.4부터 실험적으로 추가된 기능이기 때문에, 아직은 모든 앱이 정상 동작한다고 볼 수 없습니다.  구글 안드로이드 팀에서도 이에 대한 안내를 명확히 하고 있습니다.

안드로이드 apk의 크기가 커진다

완전히 컴파일된 머신 코드는 바이트코드보다 보통 더 많은 저장공간을 차지합니다. 보통은 10~20% 정도만 커지기 때문에 큰 문제는 아닙니다.

설치하는 시간이 늘어난다

안드로이드 앱을 단말에 최초 설치할 때 dex2oat 툴을 이용해 머신코드로 컴파일하기 때문에 설치하는 시간이 길어질 수 있습니다.

가비지 콜렉션이 개선된다

가비지 콜렉션을 하는동안 문제로 언급되었던 화면 출력, UI 반응 저하등의 문제를 개선합니다.

디버깅하기 편해진다

트레이스뷰(Traceview) 툴은 앱의 뷰를 추적하는 동안 1개의 메소드를 호출할 때마다 오버헤드를 발생시켯지만, ART에서는 속도저하 없이 뷰를 정확히 추적할 수 있도록 지원합니다.   또한,  익셉션(Exception)과 크래시 리포트를 제공합니다. 그 밖에 어떤 스레드가 락을 걸고 있는지, 어떤 객체가 참조되는 지 등에 대한 정보도 제공합니다.

참조

  • http://www.androidpolice.com/2013/11/06/meet-art-part-1-the-new-super-fast-android-runtime-google-has-been-working-on-in-secret-for-over-2-years-debut
  • https://source.android.com/devices/tech/dalvik/art.html

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.