Android Lollipop

Android 역대 최대 규모의 야심 찬 릴리스, Android 5.0 Lollipop에 오신 것을 환영합니다!

이 릴리스에는 사용자를 위한 새로운 기능과 개발자를 위한 수많은 새로운 API가 가득합니다. Lollipop은 휴대폰에서 태블릿, 웨어러블, TV, 자동차에 이르기까지 Android를 더욱 확장합니다.

새로운 개발자 API를 자세히 살펴보려면 Android 5.0 API 개요에서 확인할 수 있습니다. 또는, www.android.com에서 소비자용 Android 5.0에 대해 자세히 확인할 수 있습니다.

참고: 추가 기능과 수정이 포함된 Android 5.1 Lollipop MR1 업데이트를 사용할 수 있습니다. 자세한 정보는Android 5.1 API 개요를 참조하세요.

머티리얼 디자인

Android 5.0은 머티리얼 디자인을 Android에 적용하고 새로운 디자인 패턴을 앱에 쉽게 통합하기 위한 확장된 UI 툴킷을 제공합니다.

새로운 3D 뷰는 z 레벨을 설정하여 요소를 뷰 계층 위로 올리고 이동 시에도 실시간 그림자를 투영하게 해 줍니다.

내장된 액티비티 전환은 아름다운 애니메이션 움직임을 통해 다른 상태로 사용자를 매끄럽게 옮겨 줍니다. 머티리얼 테마는 여러 액티비티에서 공통된 시각적 요소를 사용하는 기능을 비롯한 액티비티의 전환을 추가합니다.

영상을 재생하려면 기기 화면을 클릭하세요.

앱에서 버튼과 체크박스, 기타 터치 컨트롤에 물결 애니메이션을 이용할 수 있습니다.

또한, XML에서 벡터 드로어블을 정의하고 다양한 방식으로 애니메이션을 적용할 수 있습니다. 벡터 드로어블은 단색 인앱 아이콘에 적합하며, 정의 손실 없이 확장 가능합니다.

RenderThread라는 새로운 시스템 관리 프로세싱 스레드는 메인 UI 스레드에서 지연이 발생하더라도 애니메이션을 부드럽게 유지해 줍니다.

성능 초점

Android 5.0은 더욱 빠르고, 원활하며 강력한 컴퓨팅 환경을 제공합니다.

이제 Android는 새로운 ART 런타임에서 배타적으로 실행되며, 이는 AOT(Ahead-Of-Time), JIT(Just-In-Time) 및 해석된 코드를 복합적으로 지원하도록 처음부터 새로 구축되었습니다. ARM, x86과 MIPS 아키텍처에서 지원되며 64비트와 완전히 호환됩니다.

ART는 앱 성능과 반응성을 개선합니다. 효율적인 가비지 컬렉션이 GC 이벤트의 정지 횟수와 기간을 낮추어서 앱이 프레임을 건너뛰지 않아도 되도록 v-sync 창에 알맞게 맞추어 집니다. 또한, ART는 메모리를 동적으로 이동해서 포그라운드용 성능을 최적화합니다.

Android 5.0에는 Nexus 9의 NVIDIA Tegra K1에서 사용하는 64비트 아키텍처에 대한 플랫폼 지원 기능이 도입되었습니다. 최적화는 더욱 큰 주소 공간을 제공하고 특정 컴퓨터 부하에 대한 성능을 개선합니다. Java 언어로 작성된 앱은 자동으로 64비트 앱으로 실행되므로 수정이 필요 없습니다. 네이티브 코드를 사용하는 앱을 위해 ARM v8 및 x86-64, MIPS-64에 새로운 ABI를 지원하도록 NDK를 확장했습니다.

Android 5.0은 더욱 원활한 성능에 계속 초점을 맞추고 개선된 A/V 동기화를 제공합니다. 오디오와 그래픽 파이프라인은 타임스탬프의 정확도를 높이기 위해 계측되고, 동영상 앱과 게임이 원활하게 동기화된 콘텐츠를 표시하도록 돕습니다.

알림

Android 5.0의 알림은 가시성, 접근성, 구성 능력이 개선되었습니다.

사용자가 원할 경우 다양한 알림 세부 정보가 잠김 화면에 나타납니다. 사용자는 안전한 잠금 화면에 알림 콘텐츠가 표시되지 않거나, 일부만 표시되거나 모두 표시되도록 선택할 수 있습니다.

수신 전화와 같은 중요 알림 경고는 헤드업 알림으로 나타납니다. 헤드업 알림이란 사용자가 현재 앱을 떠나지 않고 반응하거나 닫을 수 있는 부동 창입니다.

이제 새로운 메타데이터를 알림에 추가하여 관련된 연락처(순위 지정용), 카테고리, 우선순위를 수집할 수 있습니다.

새로운 미디어 알림 템플릿은 "엄지 손가락 위로"와 같은 사용자 지정 컨트롤을 포함하여 최대 6가지 동작 버튼이 포함된 알림에 대한 일관적인 미디어 컨트롤을 제공합니다. 따라서 RemoteViews가 더 이상 필요하지 않습니다!

대형 화면에서의 앱

Android TV는 앱의 플랫폼 경험을 위한 완전한 TV 플랫폼을 제공합니다. Android TV는 사용자가 콘텐츠를 쉽게 탐색하고 개인화된 추천과 음성 검색을 이용할 수 있는 단순화된 홈 화면 경험을 중심으로 작동합니다.

Android TV를 사용하면 앱이나 게임 콘텐츠에 크고 대담한 경험을 생성할 수 있으며 게임 컨트롤러와 다른 입력 기기와의 상호작용을 지원할 수 있습니다. 텔레비전을 위한 영화 같은 3m UI를 빌드할 수 있도록 Android는 v17 지원 라이브러리에서 Leanback UI 프레임워크를 제공합니다.

Android TV 입력 프레임워크(TIF)는 TV 앱이 HDMI 입력이나 TV 튜너, IPTV 수신기 등의 소스에서 동영상 스트림을 처리하게 해줍니다. 또한, TV 입력에 의해 게시된 메타데이터를 통해 라이브 TV 검색과 추천을 활성화하고 HDMI-CEC 제어 서비스를 포함하여 하나의 리모컨으로 여러 기기를 처리합니다.

TV 입력 프레임워크는 다양한 라이브 TV 입력 소스에 액세스를 제공하고 사용자가 콘텐츠를 탐색하고, 보고, 즐길 수 있도록 단일 사용자 인터페이스에 이들을 통합합니다. 콘텐츠를 위한 TV 입력 서비스를 빌드하면 TV 기기에서 콘텐츠의 접근성을 개선하는 데 도움이 될 수 있습니다.

문서 중심 앱

문서 중심 Recents.

Android 5.0에는 더욱 다양한 목적에 활용할 수 있고 멀티태스킹에 유용하도록 새로 디자인된 Overview 공간(이전의 Recents)이 도입되었습니다.

새로운 API를 사용하면 앱에서 다른 최근 화면과 함께 개별 문서로 별도 액티비티를 표시할 수 있습니다.

동시 문서를 활용하면 사용자가 더 많은 콘텐츠나 서비스에 즉시 액세스할 수 있습니다. 예를 들어 동시 문서를 사용하여 생산성 앱에 파일을 표시하거나 게임에서 플레이어 경기를 표시하거나 메시징 앱에서 채팅을 표시할 수 있습니다.

고급 연결

Android 5.0에서는 앱이 블루투스 저전력(BLE)으로 동시 작업을 수행할 수 있는 새로운 API가 추가되어, 스캔(중앙 장치 모드)과 광고(주변 장치 모드)가 모두 가능합니다.

새로운 다중 네트워킹 기능을 사용하면 Wi-Fi, 셀룰러, 제한 네트워크 등의 가용 기능에 대해 이용 가능한 네트워크를 쿼리하거나 특정 네트워크 기능을 제공할 수 있습니다. 그리고 앱은 연결을 요청하고 연결 손실이나 기타 네트워크 변경에 반응할 수 있습니다.

이제 NFC API를 통해 앱이 NFC 애플리케이션 ID(AID)를 동적으로 등록할 수 있습니다. 또한, 활성 서비스당 선호하는 카드 에뮬레이션 서비스를 설정하고 UTF-8 텍스트 데이터를 포함하는 NDEF 레코드를 생성합니다.

고성능 그래픽

이제 Khronos OpenGL ES 3.1 지원을 통해 지원되는 기기에서 게임과 다른 앱에 최고 성능의 2D 및 3D 그래픽 기능을 제공합니다.

Gameloft의 Rival Knights는 AEP의 ASTC(Adaptive Scalable Texture Compression)와 ES 3.1의 계산 셰이더를 사용하여 HDR(High Dynamic Range) Bloom 효과를 실현하고 더욱 세밀한 그래픽을 제공합니다.

OpenGL ES 3.1은 계산 셰이더, 스텐실 텍스처, 가속된 시각 효과, 고급 ETC2/EAC 텍스처 압축, 고급 텍스처 렌더링, 표준화된 텍스처 크기, 렌더 버퍼 형식 등을 추가합니다.

또한, Android 5.0에는 Android 확장 기능 팩(AEP)이 도입되었습니다. Android 확장 기능 팩은 공간 분할 셰이더, 기하 도형 셰이더, ASTC 텍스처 압축, 샘플별 보간 및 셰이딩, 기타 고급 렌더링 기능에 대한 액세스를 제공하는 OpenGL ES 확장 기능 세트입니다. AEP를 사용하면 다양한 GPU에 고성능 그래픽을 제공할 수 있습니다.

더욱 강력한 오디오

새로운 오디오 캡처 디자인은 저지연 오디오 입력을 제공합니다. 새로운 디자인에는 읽을 때를 제외하고 절대 차단하지 않는 빠른 캡처 스레드, 기본 샘플 속도, 채널 카운트, 비트 깊이의 빠른 트랙 캡처 클라이언트, 리샘플링, 업/다운 채널 믹스, 업/다운 비트 깊이를 제공하는 일반 캡처 클라이언트 등이 포함되어 있습니다.

다채널 오디오 스트림 믹싱은 전문 오디오 앱이 5.1 채널과 7.1 채널을 비롯한 최대 8개 채널을 믹싱할 수 있도록 지원합니다.

앱은 자체 미디어 콘텐츠를 노출하고 다른 앱의 미디어를 탐색한 후에 재생을 요청할 수 있습니다. 콘텐츠는 쿼리 가능한 인터페이스를 통해 노출되므로 기기에 존재하지 않아도 됩니다.

앱은 특정 로케일, 품질, 지연 등급과 관련된 음성 프로필을 통해 텍스트 음성 변환 합성을 미세하게 제어할 수 있습니다. 새로운 API는 합성 오류 검사, 네트워크 합성, 언어 탐색, 네트워크 대체 지원도 개선합니다.

이제 Android는 표준 USB 오디오 주변 장치도 지원하므로 사용자가 USB 헤드셋, 스피커, 마이크 또는 다른 고성능 디지털 주변 장치를 연결할 수 있습니다. 또한, Android 5.0은 Opus 오디오 코덱도 지원합니다.

미디어 재생을 제어하는 새로운 MediaSession API는 다양한 화면과 기타 컨트롤러에 일관적인 미디어 컨트롤을 쉽게 제공할 수 있게 해줍니다.

강화된 카메라 및 동영상

Android 5.0에는 YUV 및 Bayer RAW 등의 원시 형식과 노출 시간, ISO 감도, 프레임당 프레임 시간 등의 제어 매개변수를 캡처할 수 있는 모든 새로운 카메라 API가 추가되었습니다. 완전히 동기화된 새로운 카메라 파이프라인을 사용하면 지원되는 기기에서 30 FPS의 속도로 압축되지 않은 전체 해상도 YUV 이미지를 캡처할 수 있습니다.

새로운 API는 이미지 캡처에 대한 제어 기능을 강화하는 외에도 카메라 속성과 기능에 대한 자세한 정보를 노출하고 각 프레임의 캡처 설정을 설명하는 메타데이터를 제공합니다.

네트워크로 동영상 스트림을 전송하는 앱은 H.265 고효율 동영상 코딩(HEVC)을 사용하여 동영상 데이터의 인코딩과 디코딩을 최적화합니다.

또한, Android 5.0은 멀티미디어 터널링을 지원합니다. 이는 초고화질(4K) 콘텐츠를 위한 최고의 경험과 압축된 오디오 및 동영상을 함께 재생할 수 있는 기능을 제공합니다.

직장에서의 Android

사용자는 개인 앱과 업무 앱에서 통합된 뷰를 볼 수 있고, 각 앱은 쉽게 식별할 수 있도록 배지가 달려 있습니다.

기업 환경에서 BYOD(Bring Your Own Device)를 활성화하기 위해 새로운 관리된 프로비저닝 프로세스는 기기에서 안전한 업무 프로필을 생성합니다. 런처에서 앱은 Work 배지로 표시되는데, 이 앱과 데이터는 IT 관리자가 업무 프로필 내에서 관리한다는 것을 나타냅니다.

개인 및 업무 프로필의 알림은 모두 통합된 뷰에서 볼 수 있습니다. 각 프로필의 데이터는 두 프로필에서 같은 앱을 사용할 때를 포함하여 언제나 별도로 보관하고 서로에게서 안전하게 보호됩니다.

회사가 소유한 기기의 경우, IT 관리자가 새로운 기기를 시작하고 기기 소유자로 구성할 수 있습니다. 직원은 전역 기기 설정을 구성할 수 있는 이미 설치된 기기 소유자 앱으로 이 기기를 발급할 수 있습니다.

화면 캡처 및 공유

Android 5.0에서는 앱에 화면 캡처와 화면 공유 기능을 추가할 수 있습니다.

사용자 권한이 있으면 원하는 경우 디스플레이에서 비보안 비디오를 캡처하여 네트워크를 통해 전달할 수 있습니다.

새로운 유형의 센서

Android 5.0에서는 새로운 기울임 감지기 센서가 지원되는 기기에서 액티비티 인식을 개선하도록 돕고 심박수 센서가 기기를 만지는 사람의 심박수를 보고합니다.

이제 새로운 상호작용 복합 센서깨우기 제스처나 집기 제스처, 보기 제스처 등의 특수한 상호작용을 감지할 수 있습니다.

Chromium WebView

Android 5.0의 최초 릴리스에는 Chromium M37에 기반한 WebView용 Chromium 버전이 포함되어 WebRTC, WebAudioWebGL에 대한 지원이 추가되었습니다.

Chromium M37에도 모든 웹 구성 요소 사양, 즉 사용자 지정 요소, Shadow DOM, HTML 가져오기 및 템플릿에 대한 기본 지원이 포함되어 있습니다. 즉, 폴리필을 사용할 필요 없이 WebView에서 Polymer와 해당 머티리얼 디자인 요소를 사용할 수 있습니다.

Android 4.4 이후부터 WebView가 Chromium을 기반으로 했지만 이제 Google Play에서 Chromium 레이어를 업데이트할 수 있습니다.

Chromium의 새 버전이 나오면 사용자는 Google Play에서 업데이트하여 WebView의 최신 개선 사항과 버그 수정을 받고, Android 5.0 이상에서 WebView를 사용하여 앱에 최신 웹 API와 버그 수정을 제공할 수 있습니다.

접근성 및 입력

새로운 접근성 API는 시력이 정상인 사용자가 상호작용할 수 있는 화면에서 창 속성 상세 정보를 조회하고 UI 요소에 대해 표준 또는 사용자 지정 입력 동작을 정의할 수 있습니다.

새로운 입력 메서드 편집기(IME) API는 입력 메서드에서 직접 다른 IME로 더욱 빠르게 전환할 수 있게 해 줍니다.

배터리 효율적인 앱 빌드를 위한 도구

새로운 작업 예약 API를 사용하면 시스템이 나중에 실행하거나, 특정 상황(예: 기기 충전 시 또는 Wi-Fi 연결)에서 실행하는 작업에 차이를 두어 배터리 수명을 최적화할 수 있습니다.

새로운 dumpsys batterystats 명령은 배터리 사용량 통계를 생성합니다. 이 통계를 통해 시스템 전반의 전략 사용과 기기 배터리에 앱이 미치는 영향을 이해할 수 있습니다. 전력 이벤트 내역, UID 및 시스템 구성 요소당 대략적인 전력 사용량 등을 살펴볼 수 있습니다.

Battery Historian은 dumpsys batterystats의 통계를 배터리 관련 디버깅을 위한 가상화로 변환하는 새로운 도구입니다. 이 도구는 https://github.com/google/battery-historian에서 찾을 수 있습니다.