진저브레드

Android 2.3 플랫폼에는 사용자와 개발자를 위한 새롭고 흥미로운 기능이 다양하게 도입되었습니다. 이 문서에서는 Android 2.3의 새로운 기능과 기술을 간략하게 설명합니다. 새로운 개발자 API에 관한 자세한 내용은 Android 2.3 버전 노트를 참고하세요.

새로운 사용자 기능

단순성과 속도를 위한 UI 개선

사용자 인터페이스는 시스템 전반에서 여러 면에서 개선되어 더 쉽게 배우고, 더 빠르게 사용하고, 전력 효율을 높입니다. 검은색 대비 색상의 단순화된 시각적 테마는 알림바, 메뉴, UI의 다른 부분에 생동감과 대비를 제공합니다. 메뉴 및 설정을 변경하면 사용자가 시스템과 기기의 기능을 더 쉽게 탐색하고 제어할 수 있습니다.

더 빠르고 직관적인 텍스트 입력

Android 소프트 키보드가 더 빠른 텍스트 입력과 편집을 위해 새롭게 디자인되고 최적화되었습니다. 타겟팅 향상을 위해 키 자체의 모양과 위치가 조정되어 고속에서도 키를 더 쉽게 보고 누를 수 있습니다. 또한 키보드는 현재 문자 및 사전 추천을 더 크고 선명한 스타일로 읽기 쉬운 스타일로 표시합니다.

키보드는 사전의 추천에서 입력한 단어를 수정하는 기능을 추가합니다. 사용자가 이미 입력된 단어를 선택하면 키보드에는 사용자가 선택할 수 있는 추천 단어가 표시되어 다른 단어를 선택할 수 있습니다. 사용자는 음성 입력 모드로 전환하여 선택 항목을 바꿀 수도 있습니다. 스마트 추천을 사용하면 사용자가 추천을 수락한 다음 필요에 따라 나중에 원래 추천 세트에서 수정할 수 있습니다.

새로운 멀티터치 키 코드를 사용하면 사용자가 입력 모드를 수동으로 전환하지 않고도 Shift+<letter> 및 ?123+<symbol>을 눌러 숫자와 기호를 빠르게 입력할 수 있습니다. 사용자는 특정 키에서 키를 누른 상태에서 슬라이드하여 문자를 선택하여 악센트 부호가 적용된 문자, 숫자, 기호로 구성된 팝업 메뉴에 액세스할 수도 있습니다.

원터치 단어 선택 및 복사/붙여넣기

텍스트를 입력하거나 웹페이지를 볼 때 사용자는 길게 눌러 단어를 빠르게 선택한 다음 클립보드에 복사하여 붙여넣을 수 있습니다. 단어를 누르면 자유 선택 모드가 시작됩니다. 사용자는 경계 화살표 집합을 새 위치로 드래그하여 필요에 따라 선택 영역을 조정한 다음 선택 영역의 아무 곳이나 눌러 경계 영역을 복사할 수 있습니다. 텍스트 입력의 경우 사용자는 슬라이드를 눌러 커서 모드를 시작한 다음 커서 화살표를 드래그하여 쉽고 정확하게 커서 위치를 변경할 수 있습니다. 선택 모드와 커서 모드를 모두 사용하면 트랙볼을 사용할 필요가 없습니다.

전원 관리 개선

Android 시스템은 기기를 너무 오랫동안 켜진 상태로 유지하거나 백그라운드에서 실행되는 동안 CPU를 소비하는 앱을 관리하는 데 더욱 적극적인 역할을 합니다. 이러한 앱을 관리(필요한 경우 종료)하면 시스템이 가능한 최고의 성능과 최대 배터리 수명을 보장하는 데 도움이 됩니다.

또한 시스템은 사용자에게 시스템 구성요소와 실행 중인 앱에서 소모되는 전력을 더 잘 파악할 수 있도록 합니다. 애플리케이션 설정은 각 구성요소나 애플리케이션에서 소모한 사용량 및 상대적 전력에 관한 세부정보와 함께 배터리 사용 방식에 관한 정확한 개요를 제공합니다.

애플리케이션 제어

이제 애플리케이션 관리 컨트롤의 바로가기가 홈 화면과 런처의 옵션 메뉴에 표시되어 애플리케이션 활동을 훨씬 더 쉽게 확인하고 관리할 수 있습니다. 사용자가 애플리케이션 관리로 이동하면 새로운 실행 중 탭에 활성 애플리케이션 목록과 각 애플리케이션에서 사용 중인 저장용량과 메모리가 표시됩니다. 사용자는 각 애플리케이션에 관한 세부정보를 읽고 필요한 경우 애플리케이션을 중지하거나 개발자에게 의견을 보고할 수 있습니다.

소통, 정리를 위한 새로운 방법

업데이트된 표준 애플리케이션 세트를 통해 사용자는 정보와 관계를 관리하는 새로운 접근법을 취할 수 있습니다.


인터넷 전화

사용자는 인터넷을 통해 SIP 계정이 있는 다른 사용자에게 음성 통화를 걸 수 있습니다. 사용자는 인터넷 전화 번호 (SIP 주소)를 연락처에 추가하고 빠른 연락처 또는 다이얼러에서 통화를 시작할 수 있습니다. 인터넷 통화를 사용하려면 사용자는 원하는 SIP 제공업체에서 계정을 만들어야 합니다. SIP 계정은 인터넷 통화 기능의 일부로 제공되지 않습니다. 또한 특정 기기에서 플랫폼의 SIP 및 인터넷 통화 기능에 관한 지원은 제조업체 및 관련 이동통신사에서 결정합니다.

근거리 통신

NFC 리더 애플리케이션을 사용하면 사용자가 근거리 무선통신 (NFC) 태그를 읽고 상호작용할 수 있습니다. 예를 들어 사용자는 포스터, 스티커 또는 광고에 삽입될 수 있는 NFC 태그를 '터치'하거나 '스와이프'한 다음 태그에서 읽은 데이터를 처리할 수 있습니다. 일반적인 용도는 식당, 상점 또는 이벤트에서 태그를 읽은 다음 태그 데이터에 URL이 포함된 웹사이트로 이동하여 평가하거나 등록하는 것입니다. NFC 통신은 기기 하드웨어의 무선 기술에 의존하므로 특정 기기에서 플랫폼의 NFC 기능 지원은 제조업체에서 결정합니다.

다운로드 관리

다운로드 애플리케이션을 사용하면 브라우저, 이메일 또는 기타 애플리케이션에서 다운로드한 모든 파일에 쉽게 액세스할 수 있습니다. 다운로드는 시스템의 완전히 새로운 다운로드 관리자 기능으로, 다른 애플리케이션에서 사용할 수 있는 기능으로, 다운로드를 더 쉽게 관리하고 저장할 수 있습니다.

카메라

이제 애플리케이션을 통해 사용자는 기기의 여러 카메라(사용 가능한 경우)(전면 카메라 포함)에 액세스할 수 있습니다.

새로운 개발자 기능

Android 2.3은 개발자가 Android 플랫폼에 새로운 유형의 애플리케이션을 가져올 수 있는 다양한 기능과 API를 제공합니다.

게임 개선사항

성능

Android 2.3에는 모든 애플리케이션에서 공통 작업을 더 빠르고 효율적으로 수행할 수 있도록 시스템 전반에서 다양한 개선사항이 포함되어 있습니다. 게임 개발자에게 특히 흥미로운 사항은 다음과 같습니다.

  • 동시 가비지 컬렉터 — Dalvik VM은 애플리케이션 일시중지를 최소화하는 새로운 동시 가비지 컬렉터를 도입하여 게임 및 유사 애플리케이션에서 애니메이션을 더 부드럽게 하고 응답성을 높이는 데 도움을 줍니다.
  • 더 빠른 이벤트 배포 - 이제 Plaform이 터치 및 키보드 이벤트를 더 빠르고 효율적으로 처리하여 이벤트 배포 중 CPU 사용률을 최소화합니다. 이러한 변경사항은 모든 애플리케이션의 응답성을 개선하지만, 특히 3D 그래픽 또는 기타 CPU 집약적인 작업과 함께 터치 이벤트를 사용하는 게임에 도움이 됩니다.
  • 업데이트된 동영상 드라이버 - 이 플랫폼은 OpenGL ES 작업의 효율성을 개선하는 업데이트된 서드 파티 동영상 드라이버를 사용하여 전반적인 3D 그래픽 성능을 높입니다.

네이티브 입력 및 센서 이벤트

네이티브 코드를 사용하는 애플리케이션은 이제 네이티브 코드에서 직접 입력 및 센서 이벤트를 수신하여 처리할 수 있으므로 효율성과 반응성이 크게 향상됩니다.

플랫폼에서 노출된 네이티브 라이브러리를 사용하면 애플리케이션이 프레임워크를 통해 사용할 수 있는 것과 동일한 유형의 입력 이벤트를 처리할 수 있습니다. 애플리케이션은 지원되는 모든 센서 유형의 이벤트를 수신할 수 있으며, 특정 센서를 사용 설정/사용 중지하고 이벤트 전송 속도와 큐 추가를 관리할 수 있습니다.

3D 모션 처리 개선을 위한 자이로스코프 및 기타 새로운 센서

Android 2.3에는 자이로스코프, 회전 벡터, 선형 가속, 중력, 기압계 센서를 비롯한 여러 새로운 센서 유형을 위한 API 지원이 추가되었습니다. 애플리케이션은 새로운 센서를 기기에서 사용 가능한 다른 센서와 함께 사용하여 3차원 기기 모션 및 방향 변화를 높은 정밀도로 정확하게 추적할 수 있습니다. 예를 들어 게임 애플리케이션은 기기의 자이로스코프와 가속도계의 측정값을 사용하여 기울기, 회전, 스러스트, 슬라이스와 같은 복잡한 사용자 동작과 동작을 인식할 수 있습니다.

네이티브 오디오용 Open API

이 플랫폼은 애플리케이션이 네이티브 코드의 강력한 오디오 컨트롤 및 효과에 액세스할 수 있는 표준 API인 Khronos OpenSL ES의 소프트웨어 구현을 제공합니다. 애플리케이션은 이 API를 사용하여 오디오 기기를 관리하고 네이티브 코드에서 직접 오디오 입력, 출력, 처리를 제어할 수 있습니다.

네이티브 그래픽 관리

플랫폼은 애플리케이션이 그래픽 컨텍스트를 관리하고 네이티브 코드에서 OpenGL ES 텍스처와 표면을 생성 및 관리할 수 있게 해주는 Khronos EGL 라이브러리에 인터페이스를 제공합니다.

활동 수명 주기, 창 관리에 대한 기본 액세스

네이티브 애플리케이션은 수명 주기 콜백이 네이티브 코드에서 직접 구현되는 새로운 유형의 Activity 클래스인 NativeActivity를 선언할 수 있습니다. NativeActivity 및 기본 네이티브 코드는 다른 활동과 마찬가지로 시스템에서 실행됩니다. 애플리케이션의 시스템 프로세스에서 실행되고 애플리케이션의 기본 UI 스레드에서 실행되며 다른 활동과 동일한 수명 주기 콜백을 수신합니다.

또한 이 플랫폼은 픽셀 버퍼를 잠금/잠금 해제하여 픽셀 버퍼에 직접 그리는 기능을 포함하여 창 관리를 위한 네이티브 API를 노출합니다. 애플리케이션은 API를 통해 프레임워크 노출 영역 객체와 연결된 네이티브 창 객체를 가져오고 네이티브 코드에서 직접 이 객체와 상호작용할 수 있습니다.

애셋, 스토리지에 대한 기본 액세스

이제 애플리케이션이 네이티브 Asset Manager API에 액세스하여 JNI를 통할 필요 없이 네이티브 코드에서 직접 애플리케이션 애셋을 검색할 수 있습니다. 애셋이 압축되면 애플리케이션이 애셋 데이터를 읽을 때 플랫폼은 스트리밍 압축 해제를 실행합니다. 읽을 수 있는 압축된 .apk 애셋의 크기에는 더 이상 제한이 없습니다.

또한 애플리케이션은 기본 Storage Manager API에 액세스하여 시스템에서 다운로드 및 관리하는 OBB 파일과 직접 작업할 수 있습니다. OBB의 플랫폼 지원은 Android 2.3에서 제공되지만 OBB 파일 생성 및 관리를 위한 개발 도구는 2011년 초까지 사용할 수 없습니다.

강력한 네이티브 개발 환경

Android NDK (r5 이상)는 Android 2.3 플랫폼에서 제공하는 풍부한 네이티브 환경을 사용하는 애플리케이션 개발을 위한 완전한 도구, 도구 모음, 라이브러리 세트를 제공합니다. 자세한 내용이나 NDK를 다운로드하려면 Android NDK 페이지를 참고하세요.

새로운 형태의 커뮤니케이션

인터넷 전화통신

이제 개발자는 애플리케이션에 SIP 기반 인터넷 전화 통신 기능을 추가할 수 있습니다. Android 2.3에는 전체 SIP 프로토콜 스택 및 통합 통화 관리 서비스가 포함되어 있어 애플리케이션이 세션, 전송 수준 통신, 오디오 녹음 또는 재생을 직접 관리할 필요 없이 발신 및 수신 음성 통화를 쉽게 설정할 수 있습니다.

특정 기기에서 플랫폼의 SIP 및 인터넷 통화 기능에 관한 지원은 제조업체 및 관련 이동통신사에 의해 결정됩니다.

근거리 무선통신 (NFC)

플랫폼의 NFC (근거리 무선통신) 지원을 통해 개발자는 Android용 완전히 새로운 종류의 애플리케이션을 만들 수 있습니다. 개발자는 사용자, 조직, 판매자, 광고주에게 근접성 기반 정보와 서비스를 제공하는 새로운 애플리케이션을 만들 수 있습니다.

NFC API를 사용하면 사용자가 스티커, 스마트 포스터, 심지어는 다른 기기에 삽입된 요소에 NFC 지원 기기를 '터치'할 때 애플리케이션이 '검색된' NFC 태그를 읽고 응답할 수 있습니다. 관심 있는 태그가 수집되면 애플리케이션은 태그에 응답하고 태그에서 메시지를 읽은 다음 메시지를 저장하여 필요에 따라 사용자에게 메시지를 표시할 수 있습니다.

Android 2.3.3부터는 애플리케이션에서 태그에 쓰고 다른 NFC 기기와의 P2P 연결을 설정할 수도 있습니다.

NFC 통신은 기기 하드웨어의 무선 기술에 의존하므로 특정 기기에서 플랫폼의 NFC 기능 지원은 제조업체에서 결정합니다.

풍부한 멀티미디어

혼합 가능한 오디오 효과

새로운 오디오 효과 API를 사용하면 개발자가 이퀄라이제이션, 베이스 부스트, 헤드폰 가상화 (확장된 사운드 스테이지), 오디오 트랙 및 사운드에 반향을 추가하여 풍부한 오디오 환경을 쉽게 만들 수 있습니다. 개발자는 로컬 트랙에서 여러 오디오 효과를 믹싱하거나 여러 트랙에 전역적으로 효과를 적용할 수 있습니다.

새로운 미디어 형식 지원

이제 플랫폼은 VP8 공개 동영상 압축 형식 및 WebM 공개 컨테이너 형식을 기본적으로 지원합니다. 또한 이 플랫폼은 AAC 인코딩 및 AMR 광대역 인코딩 (소프트웨어) 지원을 추가하므로 애플리케이션이 협대역보다 높은 품질의 오디오를 캡처할 수 있습니다.

여러 카메라 액세스

이제 Camera API를 사용하면 개발자가 전면 카메라를 비롯하여 기기에서 사용할 수 있는 모든 카메라에 액세스할 수 있습니다. 애플리케이션은 플랫폼에 기기의 카메라 수와 카메라 유형 및 특성을 쿼리한 다음 필요한 카메라를 열 수 있습니다. 예를 들어 영상 채팅 애플리케이션은 저해상도를 제공하는 전면 카메라에 액세스해야 하는 반면, 사진 애플리케이션은 더 높은 해상도를 제공하는 후면 카메라를 선호할 수 있습니다.

새로운 플랫폼 기술

미디어 프레임워크

  • 새 미디어 프레임워크가 OpenCore를 완전히 대체하여 인코딩 및 디코딩을 위한 이전의 모든 코덱/컨테이너 지원을 유지합니다.
  • VP8 공개 동영상 압축 형식 및 WebM 열기 컨테이너 형식 지원 통합
  • AAC 인코딩 및 AMR 광대역 인코딩을 추가합니다.

Linux 커널

  • 2.6.35로 업그레이드됨

네트워킹

  • 기기 제조업체에서 구성 가능한 SIP 스택
  • 기기 제조업체에서 구성 가능한 근거리 무선통신 (NFC) 지원
  • BlueZ 스택 업데이트됨

Dalvik 런타임

  • Dalvik VM:
    • 동시 가비지 컬렉터 (3밀리초 미만의 일시중지 목표)
    • JIT (코드 생성) 최적화 추가
    • 코드 인증 개선
    • 성능 및 메모리 문제 식별을 위한 StrictMode 디버깅
  • 핵심 라이브러리:
    • I18N 지원 확대 (전체 전 세계 인코딩, 더 많은 언어)
    • 더 빠른 서식 지정 도구 및 숫자 서식 지정 예를 들어 플로팅 형식은 2.5배 더 빠릅니다.
    • HTTP 응답은 기본적으로 gzip으로 압축됩니다. XML 및 JSON API 응답 크기는 60% 이상 줄일 수 있습니다.
    • 새로운 컬렉션 및 유틸리티 API
    • 네트워크 API 개선
    • 파일 읽기 및 쓰기 제어 개선
    • 업데이트된 JDBC
  • 업스트림 프로젝트의 업데이트:
    • OpenSSL 1.0.0a
    • BouncyCastle 1.45
    • 중환자실 4.4
    • zlib 1.2.5

새로운 개발자 API에 관한 자세한 내용은 Android 2.3 버전 노트API 차이점 보고서를 참고하세요.