안드로이드4.4가 개발자에게 주는 메시지

일반입력 :2013/11/01 11:10    수정: 2013/11/02 10:00

구글이 안드로이드 4.4(코드명 킷캣)을 공개했다. 킷캣은 저사양 기기에서도 사용 가능하도록 한데 초점이 맞춰졌다.

개발자 측면에선 기기 개발 회사나 애플리케이션 개발자, 모바일 서비스 제공자 등에게 메모리, 전력 등의 소비를 줄일 수 있는 방안을 제시했고, 다양한 기능 적용도 가능해졌다는 평가다. 구글은 이를 위한 소프트웨어개발도구(SDK)와 새 API들을 공개했다.

31일(현지시간) 구글이 개발자 블로그에 올린 안드로이드4.4 킷캣에 대한 여러 정보 중 주목할만한 것들을 정리했다.

■저용량 메모리에 최적화하라

구글은 이날 안드로이드4.4 킷캣이 보다 낮은 메모리를 요구하고 있다고 밝혔다. 이는 킷캣이 저가모델에서 고급모델에 이르기까지 장착될 수 있음을 의미한다.

킷캣은 512MB 메모리 용량을 탑재한 스마트폰서도 돌아갈 수 있다. 구글은 킷캣에서 메모리 소모량을 줄였다. 또 새로운 API와 도구를 통해 반응성이 좋고, 메모리 효율적인 애플리케이션 개발을 할 수 있게 했다.

OEM 제조사는 안드로이드 가상 머신 '달빅'에 포함된 JIT 코드 캐시 튜닝, 커널 동일페이지병합(KSM), 지램(zRAM) 교환, 메모리 관리 최적화 등을 이용해 낮은 메모리 사양의 휴대폰을 제작할 수 있다.

안드로이드 킷캣은 시스템 전반적으로 메모리 관리를 개선하고, 앱을 쓰는데 기본적으로 필요한 메모리 점유 공간을 줄여준다. 핵심 시스템은 더미를 덜 사용하도록 다듬어졌다. 대량으로 메모리를 소비하는 앱으로부터 시스템 메모리를 보다 적극적으로 보호할 수 있다.

네트워크 연결 변경처럼 여러 서비스가 일시에 시작할 때 킷캣은 작은 그룹으로 나눠 서비스를 직렬로 시작하고, 메모리 소비 돌출(Peak)을 피하게 해준다.

킷캣은 개발자에게 메모리를 적게 소비하도록 하는 API를 제공한다. 기기에 탑재된 메모리 설정에 맞춰 앱이 알아서 돌아가도록 해준다. 필요할 경우 대형 메모리를 요하는 기능을 완화하거나 끌 수 있다.

새로운 도구는 앱의 메모리 사용에 대한 통찰력을 제공한다. 프로세서 스탯 도구(procstats tool)는 다중프로그래밍 앱과 백그라운드 서비스의 작동시간과 메모리 차지면적을 세부적으로 보여준다.

메모리정보도구(meminfo tool)는 메모리 트렌드와 문제를 탐지하기 쉽게 해준다. 전에 발생하지 않았던 추가적인 메모리 과부하를 드러낸다.

■전력 소비를 줄이는 방법 '센서 배칭'

센서 배칭이란 새 기능도 주목된다. 킷캣은 하드웨어 센서 배칭(hardware sensor batching)을 지원한다. 이는 전력 소비를 줄이는 최적화와 관련된 내용이다.

센서 배칭으로 안드로이드는 기기 하드웨어가 센서와 정보를 주고받는 작업을 일괄처리(batch)로 할 수 있다. 기기의 애플리케이션프로세서(AP)는 센서와 통신을 연속적으로 하는 게 아니라 정해둔 시점마다 하게 됨으로써 배치 작업 외 평상시 전력을 적게 소비한다.

이는 피트니스, 위치추적, 모니터링 등과 관련된 앱을 사용할 때 전력소비를 줄여줄 수 있다.

예를 들어 만보기 앱의 정보를 모으는 중력센서는 평상시 정보를 모아뒀다가, 사용자와 AP가 원하는 때에 한꺼번에 모아둔 데이터를 전송하는 식이다. 개발자는 AP와 센서의 정보교환 시점을 정할 수 있다.

안드로이드 4.4는 2개의 새로운 센서를 지원한다. 보행 탐지기와 계산기 센서에 대한 것으로, 두 센서는 킷캣과 함께 공개된 넥서스5에 탑재됐다. 앱 개발자가 자체적인 검출 알고리즘을 유지할 필요가 없다.

■앱의 NFC화, 화면 녹화 등 기타 기능은

킷캣은 '호스트카드에뮬레이션(HCE)'를 통해 보안을 보장하는 NFC 기반의 거래를 지원한다. 지불, 로열티 프로그램, 카드 접속, 운송장 등에 대해 HCE는 안드로이드의 어떤 앱도 NFC 스마트카드를 대체할 수 있게 해준다.

앱은 리더모드(Reader Mode)를 HCE 카드나 NFC 기반 거래를 위한 판독기로 사용가능하다.

안드로이드 앱은 와이파이나 구글클라우드프린트 같은 서비스를 통해 어떤 형태의 콘텐츠도 출력가능하다. 앱에서 프린트 기능을 집어넣게 되면, 쉽게 사용가능한 프린터를 검색하고, 출력물 용지크기를 바꾸거나, 특정 페이지만 출력하는 게 가능하다.

킷캣은 프린트작업을 관리하는 새 API를 제공한다. 프린트 매니저로 앱의 출력요구와 그를 위한 프린트 서비스 사이를 관리한다. 프린트 매니저는 공유 서비스와 출력을 위한 시스템 사용자환경(UI)을 제공한다.

프린터 제조사는 새 API를 통해 자체 프린트 서비스를 만들 수 있다. 제조업체 특정의 로직을 추가하고, 프린터의 특정 형태와 통신하는 서비스를 추가하는게 가능하다. 제조사들은 프린트 서비스를 만들어 구글 플레이를 통해 배포할 수 있다. 라이언트 앱은 최소한의 코드 변경으로 출력 기능을 추가할 수 있는 새 API를 사용할 수 있다.

안드로이드는 PDF 포맷을 출력을 위한 우선 포맷으로 사용한다. 킷캣 기반의 기기는 대부분 구글 클라우드 프린트를 사전탑재한다.

킷캣의 새로운 스토리지 접근 프레임워크는 모든 문서 스토리지 제공자 내 문서, 사진, 기타 파일 등을 검색하고 여는 작업을 단순하게 한다. 클라우드든 내장 스토리지든 사용자가 해당 앱을 설치하면 어느 앱을 사용하든 해당 스토리지서비스에 쉽게 접근하게 해준다.

상태바, 내비게이션바 등의 시스템UI를 감춰 콘텐츠를 화면 전체에서 볼 수 있도록 했다. 또, 새로운 전환 프레임워크를 제공해 고품질의 애니메이션을 앱에 삽입하도록 해준다.

관련기사

크로미움에 기반한 웹뷰를 채택했다. 새 크로미움 웹뷰는 HTML5, CSS3, 자바스크립트를 지원한다. 최신 자바스크립트엔진(V8)으로 자바스크립트 성능을 개선할 수 있다.

킷캣은 기기의 화면을 동영상으로 캡처할 수 있다. 기기의 동작 전체를 MP4 동영상으로 녹화할 수 있어, 앱 튜토리얼이나 마케팅 비디오 등에 활용할 수 있다.