안드로이드 강좌

넥서스5 개발자옵션과 ART 설정 방법

T.B 2013. 11. 20. 15:34


눈 코 뜰새도 없이 바쁘다가(코를 뜰 수는 없겠습니다...) 이제 숨좀 쉬는 중입니다. 저때문에 넥서스5(Nexus 5)를 구매하신 트친님들과 블로그 구독자분들께서 '상당'하신 만큼 오늘 부터 달려볼 생각인데 먼저 양해의 말씀을 드리자면 iOS 탈옥(jailbreak)관련 글은 단순 튜토리얼을 넘어서 디테일한 내용들이 추가됐었는데, 루팅(rooting)이나 안드로이드 관련 글들은 갈 길이 먼지라 어느 정도 컨텐츠가 됐다 싶을 때까지(이게 안되면 중간중간 하이퍼링크로 대체하고 넘어갈 부분들도 넘어가지를 못하니 글이 한도 끝도 없이 길어지고 그렇게 되면 쓰는 사람도 읽는 사람도 피곤해지기 마련이죠.) 가급적이면 요점만 딱딱 짚어서 간결하게 글을 작성해둘 생각입니다.


윈도우에 가상머신이 있듯이 안드로이드도 자바(Java) 기반의 가상머신이 있다. 우선 구글의 최신 OS인 안드로이드 4.4 킷캣 런타임으로는 달빅(Dalvik)이 기본으로 설정되어 있으며 개발자들을 위해서 ART 모드를 사용해 볼 수 있도록 제공중이다.


ART는 달빅을 대체하는 런타임으로 달빅의 JIT 대신에 AOT 컴파일러를 통해 앱 설치시 실행 가능한 코드로 컴파일한다. 단점으로는, 더 많은 메모리를 요구하지만 장점으로는, 구동 속도가 빨라지고 벤치마크 결과로 ART 사용시 앱 구동시간이 절반으로 줄어들며 멀티코어 프로세스를 효율적으로 사용해 소비전력도 줄어든 것으로 확인됐다.(via) 설정 방법은 아래와 같다.


1. '설정 → 휴대전화 정보' 에서 '빌드 번호'를 7연타 한다.



2. '개발자옵션'이 생성되면 '런타임 선택'에서 Dalvik을 ART로 전환한다. 리부팅 후 설치된 앱을 자동으로 최적화 시킨다.



실제로 ART 환경에서 앱 구동속도가 확실히 빨라졌고 iOS가 pseudo-multitasking 인데 비해 안드로이드가 real-multitasking 이기에 WiFi 를 꺼둔 상태에서의 배터리 사용량이 체감할 정도로 늘어났습니다. 다만, 고퀄리티 3D게임 등을 장시간 한다면 어떤 스마트폰도 배터리 사용량으로 부터 자유롭지 못하겠구요.


ART는 아직 '테스트'로 일반 사용자들을 위함이 아니라 차세대 안드로이드OS를 출시하기 전 버그 수집과 함께 개발자들에게 호환성을 준비해두라는 것입니다. 실제로 구글은 ART 를 발표하면서 개발자(사)들에게 피드백을 받기를 원한다는 단체 메일을 보내기도 했었죠.


iOS로 빗대어 설명하자면 애플에서도 업데이트 전 베타 버전을 개발자들을 대상으로 배포합니다. ART 모드로 변경 후 '앱이 되네 안되네' 하는 것은 iOS에서 개발자계정으로 판올림 해놓고 튕긴다는 호환성을 제기하는 것과 같습니다. 따라서 ART 사용 후 발생할 수 있는 산발적인 문제점(일부 앱이 호환되지 않는 증상, 일부 사용 환경에 따라서 배터리 누수 현상)에 관해서는 질문을 받지 않습니다.


iOS 7.0.3 부터 애플이 '동작 줄이기' 기능을 추가하면서(참고) 그간 탈옥에서나 가능(Speed intensifier, tsSpeeder)했던 불필요한 애니메이션을 제거하고 시스템 안정성을 위한 앱 구동속도 제한을 어느 정도 해제했는데 아마 ART 때문이었지 않았을까? '추측' 해봅니다.


 T.B의 SNS 이야기 블로그의 모든 글은 저작권법의 보호를 받습니다. 어떠한 상업적인 이용도 허가하지 않으며, 이용(불펌)허락을 하지 않습니다.

▲ 사전협의 없이 본 콘텐츠(기사, 이미지)의 무단 도용, 전재 및 복제, 배포를 금합니다. 이를 어길 시 민, 형사상 책임을 질 수 있습니다.

▲ 비영리 SNS(트위터, 페이스북 등), 온라인 커뮤니티, 카페 게시판에서는 자유롭게 공유 가능합니다.


T.B의 SNS이야기 소식은 T.B를 팔로윙(@ph_TB) 하시면 실시간으로 트위터를 통해서 제공 받을 수 있습니다.

728x90
반응형