안드로이드 버전별 주요변화
안드로이드 2.2의 주요 변화 프로요(Proyo)라 불리는 안드로이드 2.2는 2.1에 비해 많은 변화가 있었다. 여러 변화 중에서 주요 변화에 대해서 살펴보겠다.
- 속도: 안드로이드 2.2는 새로운 Dalvik JIT(Just In Time) 컴파일러를 통해 CPU 성능을 이전보다 2~5배 더 높였다. 또한 자바스크립트 엔진도 개선해서 기존 안드로이드 브라우저보다 2~3배 더 빠른 성능을 보인다. 게다가 메모리 회수 기능을 개선해서 애플리케이션 간의 전환 속도를 향상시켰다.
- 플래시: 어도비 플래시(Adobe Flash)와 에어(Air)를 지원한다.
- 애플리케이션 설치 위치: 기존에는 내부 메모리에만 애플리케이션을 설치할 수 있었지만, 이제 외부 메모리인 SD카드에도 설치할 수 있다.
- 업데이트: 자동 업데이트 기능이 추가되어 사용자는 매번 수동으로 업데이트할 필요가 없다.
- 백업: 애플리케이션의 데이터를 백업하거나 복구할 수 있는 기능이 추가되었다. 이를 통해 손상된 데이터를 복구하거나 데이터를 다른 폰에 이동시킬 수 있다.
- C2DM(Cloud-to-Device Messaging): 폰에 메시지를 보내는 기능이 추가되었다. 이를 통해 폰에 메시지를 보내고 폰은 이에 응답하여 특정 처리를 할 수 있다.
주요 특징에 대해서 좀 더 자세히 알고 싶다면 안드로이드 개발자 사이트를 방문하기 바란다. http://developer.android.com/sdk/android-2.2-highlights.html
안드로이드 2.3의 주요 변화
진저브레드(Gingerbread)에서는 사용자 측면과 개발자 측면에서 작은 변화부터 새로운 변화까지 많은 변화가 있었다. 이 중에서 주목할 만한 변화들을 정리하면 다음과 같다.
사용자 측면
안드로이드 2.3은 사용자 측면에서 봤을 때도 여러 기능이 추가되었다. 이전과 다르게 인터페이스와 속도 향상을 위한 많은 개선이 있었다.
- 사용자 인터페이스 개선: 좀 더 직관적이고 더 나은 배터리 효율성을 위해 사용자 인터페이스의 많은 부분이 개선되었다.
- 텍스트 입력 개선: 더 쉽고 빠르게 키를 입력할 수 있도록 소프트 키보드가 개선되었으며, 원하는 일부 텍스트를 복사하여 붙여넣는 기능이 개선되었다.
- 배터리 관리 기능 향상: 백그라운드에서 동작하는 애플리케이션을 적극적으로 관리함으로써 배터리를 효율적으로 사용할 수 있게 되었다. 또한 여러 애플리케이션의 배터리 사용량을 좀 더 상세히 표시하여 사용자가 이를 쉽게 파악할 수 있게 되었다.
- 인터넷 전화 기능 추가: 인터넷 전화번호를 추가하여 인터넷 전화를 할 수 있는 기능이 추가되었다.
- 근거리 무선 통신(NFC, Near Field Communication): 13.56Mz 주파수 대역을 사용하는 전자태그(RFID)의 하나인 NFC를 사용할 수 있게 되었다. 이를 통해 물품이나 포스터 등 여러 곳에서 NFC의 정보를 읽어 다양한 처리를 할 수 있게 되었다.
- 카메라: 전면과 후면 카메라를 모두 사용할 수 있게 되었다.
개발자 측면
안드로이드 2.3은 개발자 측면에서 봤을 때 주요 변화는 게임 지원 강화와 통신 기능 추가 그리고 멀티미디어 기능 향상이다.
게임 지원 강화
- 병행 가비지 컬렉터(Concurrent Garbage Collector): 가비지 컬렉션으로 인한 멈춤 현상을 줄일 수 있는 병행 가비지 컬렉터를 도입하였으며, 이를 통해 게임 등의 애니메이션 처리가 예전보다 많이 부드러워질 수 있게 되었다.
- 이벤트 처리 속도 향상: 터치와 입력을 더 빨리, 그리고 CPU를 효율적으로 사용할 수 있도록 개선되었다.
- 비디오 드라이버 업데이트: Open GL ES의 성능을 향상시킬 수 있는 써드파티 비디오 드라이버를 채택하여 3D 그래픽 성능을 향상시키고 있다.
- 향상된 3D 모션 처리를 위한 자이로스코프와 새로운 센서 지원: 자이로스코프(gyroscope), 회전(rotation vector), 선형가속(linear acceleration), 중력(gravity), 기압계(barometer) 센서를 위한 API를 추가했으며, 이를 통해 정확한 방향 변화를 추적할 수 있게 되었다.
- 다양한 네이티브 기능 추가: 네이티브 코드에서 입력이나 센서 이벤트를 직접 받을 수 있게 되었다. 또한 Khronos OpenSL ES 구현을 통해 네이티브 코드에서 오디오 제어 및 효과를 제대로 제어할 수 있게 되었으며, Khronos EGL을 통해 네이티브 코드에서 그래픽 컨텍스트를 다루거나 OpenGL ES 텍스처와 서피스를 만들 수 있게 되었다. 그리고 새롭게 추가된 NativeActivity 클래스를 통해 액티비티 라이프 사이클의 콜백을 네티브 코드에서 받을 수 있게 되었다. 끝으로 애플리케이션의 Asset 데이터를 네이티브 코드에서 바로 접근할 수 있도록 관련 API도 제공하고 있으며, 이러한 여러 네이티브 기능을 사용할 수 있는 네이티브 개발 환경도 안드로이드 NDK에서 제공하고 있다.
통신 기능 추가
- 인터넷 전화: SIP 프로토콜과 관련된 많은 기능을 안드로이드에서 직접 처리해주므로 개발자는 손쉽게 인터넷 전화 기능을 추가할 수 있게 되었다.
- 근거리 무선 통신(NFC, Near Field Communication): NFC API를 사용하여 NFC의 정보를 읽을 수 있게 되었다. 이를 통해 개발자는 이전에 없었던 새로운 기능을 사용자에게 제공할 수 있게 되었다. 다만 이 기능을 사용하기 위해서는 NFC 장치가 탑재되어 있어야 가능하다.
멀티미디어 기능 향상
- 믹스 가능한 오디오 이펙트: 새롭게 추가된 이펙트 API를 통해 개발자는 다양하고 풍성한 오디오를 사용자에게 제공할 수 있게 되었다.
- 새로운 미디어 포맷 지원: VP8 오픈 비디오 압축 포맷과 WebM 오픈 컨테이너 포맷을 지원하며, AAC 인코딩과 AMR wideband 인코딩을 지원한다.
- 다중 카메라 접근 지원: 다중 카메라를 접근할 수 있게 되어 앞으로 전면 카메라를 사용하여 화상 채팅을 구현할 수 있게 되었다.
주요 특징에 대해서 좀 더 자세히 알고 싶다면 안드로이드 개발자 사이트를 방문하기 바란다. http://developer.android.com/sdk/android-2.3-highlights.html
안드로이드 3.0의 주요 변화
허니콤(Honeycomb)이라 부르는 안드로이드 3.0은 태블릿을 제대로 지원하기 위한 안드로이드 버전이다. 그래서 큰 화면을 효율적으로 구성하여 사용자가 쉽고 편하게 안드로이드 애플리케이션을 사용할 수 있도록 하는데 주안점을 두고 개발되었다. 이러한 안드로이드 3.0의 주요 특징을 정리하면 다음과 같다.
사용자 측면
- 태블릿을 위한 새로운 UI 제공: 노티피케이션 및 시스템 상태 등을 살펴볼 수 있는 시스템 바(System Bar)를 화면 하단에 제공하며 옵션, 네비게이션, 위젯 등을 제공하는 액션바(Action Bar)를 화면 상단에 제공한다. 또한 최근 실행한 애플리케이션을 쉽게 선택할 수 있도록 애플리케이션 이미지를 목록 형태로 제공한다.
- 새롭게 디자인된 키보드 제공: 대형 화면에서 편하게 사용할 수 있는 키보드를 제공한다.
- 텍스트 선택, 복사 그리고 붙여넣기 기능 개선: 텍스트 선택 영역을 조정하고 복사하며 붙여넣기 할 수 있는 기능을 새롭게 개선하여 제공한다.
- 기본 탑재된 애플리케이션 업데이트: 대형 화면을 효율적으로 사용할 수 있도록 기본 탑재된 애플리케이션을 업데이트하여 제공한다. 브라우저, 카메라, 갤러리, 주소록, 이메일 등이 개선되었다.
개발자 측면
- 태블릿 애플리케이션 개발을 위한 새로운 UI 프레임워크 제공: 대형 화면을 효율적으로 다룰 수 있도록 액티비티 내에서 동작하는 프래그먼트를 제공한다. 또한 개선된 UI 위젯, 홈 스크린 위젯을 사용할 수 있으며 액션바를 통해 애플리케이션 네비게이션을 향상시킬 수 있다.
- 고성능 2D와 3D 그래픽: 새로운 애니메이션 프레임워크를 사용할 수 있으며 하드웨어 가속 2D 그래픽을 제공한다. 또한 3D 그래픽 엔진인 렌더스크립트(Renderscript)도 제공한다.
- 멀티코어 프로세서 아키텍처 지원: Dalvik VM 개선을 통해 멀티코어 프로세서를 지원한다.
- 다양한 멀티미디어 및 연결 방식 제공: HTTP 라이브 스트리밍, DRM 프레임크, USB를 통한 MTP/PTP(Media/Picture Transfer Protocol) 등을 제공한다.
주요 특징에 대해서 좀 더 자세히 알고 싶다면 안드로이드 개발자 사이트를 방문하기 바란다. http://developer.android.com/sdk/android-3.0-highlights.html
안드로이드 4.0의 주요 변화
아이스크림 샌드위치(ICECREAM SANDWICH)라 부르는 안드로이드 4.0은 안드로이드 3.0의 인터페이스를 기반으로 폰과 태블릿 그리고 다른 기기에서도 동일한 인터페이스를 제공할 수 있도록 UI 프레임워크를 제공한다. 또한 다양한 통신 기능 그리고 향상된 카메라 기능을 제공한다. 이에 대해 간단히 정리하면 다음과 같다.
- 통합 UI 도구: 태블릿과 폰 그리고 다양한 기기에 일관된 UI 컴포넌트, 스타일, 기능 등을 제공한다
- 다양한 커뮤니케이션 및 공유 기능: 새롭게 추가된 소셜과 캘린더 API, NFC 기반의 인스턴스 공유 기능을 제공하는 안드로이드 빔(Beam), Wi-Fi Direct 지원, 블루투스 기반의 HDP(Health Device Profile)을 지원한다.
- 풍부한 반응성 및 커스터마이제이션: 향상된 통지 기능, 카메라를 사용한 락스크린, 뮤직 제어, 향상된 런처의 앱 관리를 제공한다.
- 그래픽, 카메라, 미디어를 위한 새로운 기능: 이미지와 비디오 효과, 정교한 카메라 미터링, 얼굴 영상 검출(face detection), 미디어 코텍을 제공한다.
- 인터페이스와 입력 방식 추가: 하드웨어 가속 2D 드로잉, 새로운 그리드 기잔의 레이아웃, 개선된 소프트 키보드, 철자 체크 API, 스타일러스 입력 지원을 제공한다.
- 향상된 접근성: 새로운 접근성 API, 새롭게 개발된 TTS(Text-To-Speech) API를 제공한다.
- 엔터프라이즈 기능 향상: 보안 연결을 위한 VPN API, 카메라 비활성화를 위한 신규 관리자 정책을 제공한다.
주요 특징에 대해서 좀 더 자세히 알고 싶다면 안드로이드 개발자 사이트를 방문하기 바란다. http://developer.android.com/sdk/android-4.0-highlights.html