본문 바로가기

안드로이드 이야기/새소식

안드로이드 2.3 진저브레드(Gingerbread)가 공개되었습니다.


안드로이드 2.2 프로요(Froyo)의 뒤를 잇는 새 버전인 진저브레드(Gingerbread)가 드디어 공개되었습니다.
프로요가 6월경 나왔고, 진저브레드가 12월에 나왔으니 업데이트 주기 6개월을 맞춘 것으로 보입니다.

예전에 루머로 진저브레드에서 UX의 개선이 있을 것이라 했는데, 진저브레드가 마이너 업데이트로 바뀌면서 UX의 개선은 이루어지 않고 일부 UI가 변경되고 새로운 기능이 추가되었습니다.



여러 기능들이 추가되었지만, 주목할만한 몇 가지를 알아보면 다음과 같습니다.


블랙 계열의 UI



UI 기본 색상이 회색에서 검은색으로 변경되고, 아이콘에도 초록색 느낌(안드로이드색?)이 많이 들어갔습니다. 이전의 아이콘들이 다소 따로노는 듯한 느낌이 있었다면, 진저브레드의 아이콘들은 확실히 Look&Fell을 가지고 있는 것 같습니다.

진저브레드가 발표되면서 레퍼런스폰으로 넥서스S가 함께 발표되었는데, 넥서스S에서 AMOLED 디스플레이를 장착하다보니 전력 소비량을 줄이기 위해 일부러 전체적인 색상을 블랙으로 지정한 것 같기도 한데, 넥서스S 이후에 발매되는 레퍼런스폰들이 모두 AMOLED 디스플레이를 사용한다는 보장도 없기에 이는 좀 설득력이 부족해보입니다.

제 생각에는 구굴=블랙이라는 느낌을 가지기 위해 이런 선택을 한 게 아닌가 싶네요. 그러고보니 안드로이드가 처음 나올때 블랙이 주력 색이였고... 최근 업데이트된 유튜브 앱이나 음성 검색도 보면 블랙 테마로 나오니.... '_'


더 쉬워진 텍스트 선택



텍스트 선택, 복사 및 붙여넣기 기능은 안드로이드에서 아주 오래전부터 지원하던 기능입니다. 하지만 텍스트를 선택하는 방법이 너무 까다로워서 사용하기가 매우 불편했었죠. 

진저브레드에서는 텍스트를 선택할 때 조금 더 쉬운 UX를 제공합니다. 마치 최근 갤럭시S에 들어가있는 텍스트 선택 기능과 유사한 모습입니다.


전면 카메라 API 지원

전면 카메라를 탑재한 단말기는 많은데 공식적으로 전면 카메라에 접근할 수 있는 API가 없어 이를 응용한 애플리케이션을 만들 수 없었는데 전면 카메라에 접근하는 API를 공식적으로 제공함으로써 전면 카메라를 사용하는 애플리케이션을 사용할 수 있게 되었습니다.

특히 화상통화 관련 애플리케이션 활성화에 매우 큰 기여를 할 것으로 예상됩니다.


인터넷 전화 지원



주소록에서 인터넷 전화를 바로 걸 수 있도록 지원합니다. 스마트폰이 확산되면서 인터넷 전화 시장도 큰 성장이 예고되는데, 이를 기본으로 지원하게 됨으로써 인터넷 통화 애플리케이션을 거치지 않아도 됩니다.


Overscroll 지원 


리스트의 끝에 도달했을 때 끝에 도달했음을 알려주는 오버스크롤(Overscroll)을 지원합니다. 아이폰이나 갤럭시S에서는 오버스크롤시 빈 영역이 표시되었던 것에 반해, 진저브레드에서는 끝 부분이 하이라이트됩니다.



NFC(Near field communication) 지원

근거리 무선통신을 지원하여 NFC 태그에 담긴 정보 등을 조회하는 것이 가능합니다. 블루투스와는 또다른 무선통신 양상을 보일 것으로 기대되네요.


Download Manager 지원

서드파티 애플리케이션에서 데이터 등을 다운로드 해야 할 때 Download Manager를 사용하여 편리하게 데이터를 수신하도록원합니다. 기존에는 Download manager에 시스템 애플리케이션만 접근 가능했는데, 이 제한이 풀렸군요.

애플리케이션 바이너리 데이터를 줄이기 위해 데이터 파일을 별도의 서버에 두고, 설치 후 이를 추가로 다운로드 하는 애플리케이션의 구현에 매우 큰 도움이 되리라 생각합니다.


퍼포먼스 향상

Concurrent garbage collector의 적용으로 가비지 컬렉션에 걸리는 시간을 줄임으로써 가비지 컬렉션 수행시 발새앴던 애플리케이션 지연을 최소화할 수 있게 되었습니다. 또한, 센서 이벤트 처리 속도가 향상되어 좀 더 민감한 처리를 할 수 있으며, 비디오 드라이버 업데이트로 향상된 3D 그래픽을 제공합니다.


네이티브 애플리케이션 지원 강화

기존에도 네이티브 코드(C/C++)로 짜여진 코드를 사용할 수 있었지만, 그 활용 정도가 제한적이였습니다. 진저브레드에서는 네이티브 애플리케이션에 대한 지원을 강화하여 네이티브 코드에서 바로 센서 및 오디오 하드웨어 등에 접근할 수 있도록 하고, NativeActivity 등 네이티브 애플리케이션을 위한 요소들이 많이 추가되었습니다.

앞으로 안드로이드용으로 개발될 게임의 성능 개선에 많은 도움이 될 것으로 기대됩니다.


다음은 진저브레드 2.3과 함께 공개된 ADT 8.0.0에 추가된 기능입니다.


Incremental Build에 자동으로 디버그 옵션 추가

기존에는 매니페스트에 debuggable 옵션을 명시적으로 'true'로 설정해야 애플리케이션 디버깅이 가능했습니다.  하지만 ADT 8.0.0 부터는 Incremential Build (애플리케이션 배포를 위한 빌드가 아닌 개발시 자동으로 수행되는 빌드)에는 자동으로 디버그 옵션이 활성화됩니다. 따라서, 추가로 매니페스트에서 디버그 옵션을 활성화할 필요가 없습니다.

Export 메뉴를 사용하여 바이너리 파일을 생성할 경우에는 매니페스트에 디버그 옵션이 명시되어있지 않는 한 디버그 옵션은 자동으로 비활성화되어 빌드됩니다.


HierarchyViewer 통합



이클립스 ADT Plugin 내에 현재 화면의 뷰 구조를 볼 수 있는 HierarchyViewer가 통합되었습니다. 


매니페스트에서 권한 및 액션, 카테고리 설정시 콤보박스 형태로 선택 가능



저번 ADT 업데이트시 갑자기 콤보박스가 사라지면서 모든 권한 및 액션, 카테고리를 하나하나 입력했어야 했는데, 이번 ADT 8.0.0에서는 이 문제들이 해결되었습니다.


개선된 LayoutEditor



레이아웃 에디터가 변경되었습니다. 기존에는 거의 XML로 작성한 코드의 '미리보기' 만을 보여주는 정도였는데, 작성된 레이아웃을 보면서 레이아웃을 수정할 수 있도록 UI가 변경되었습니다. 아직 많이 써보지는 않았지만... 이 부분은 아직도 개선이 진행되고 있다니 앞으로 의 행보를 기대해봐야겠군요.