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에 Material Design을 도입하고 앱에 새로운 디자인 패턴을 쉽게 통합할 수 있는 확장된 UI 도구 키트를 제공합니다.
새로운 3D 뷰를 사용하면 z 수준을 설정하여 요소를 뷰 계층 구조에서 위로 올리고 요소가 이동하는 동안에도 실시간 그림자를 표시할 수 있습니다.
내장된 활동 전환은 아름다운 애니메이션 모션으로 사용자를 한 상태에서 다른 상태로 원활하게 이동시킵니다. 머티리얼 테마는 활동 간에 공유된 시각적 요소를 사용할 수 있는 기능을 비롯하여 활동의 전환을 추가합니다.
영화를 다시 재생하려면 기기 화면을 클릭합니다
앱에서 버튼과 체크박스, 기타 터치 컨트롤에 물결 애니메이션을 이용할 수 있습니다.
또한, XML에서 벡터 드로어블을 정의하고 다양한 방식으로 애니메이션을 적용할 수 있습니다. 벡터 드로어블은 단색 인앱 아이콘에 적합하며, 정의 손실 없이 확장 가능합니다.
RenderThread라는 새로운 시스템 관리 처리 스레드는 기본 UI 스레드에 지연이 발생하더라도 애니메이션을 원활하게 유지합니다.
성능 초점
Android 5.0은 더욱 빠르고, 원활하며 강력한 컴퓨팅 환경을 제공합니다.
이제 Android는 AOT (Ahead-Of-Time), JIT (Just-In-Time), 해석 코드의 조합을 지원하도록 처음부터 빌드된 새로운 ART 런타임에서만 실행됩니다. 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를 사용하여 앱 또는 게임 콘텐츠에 대담하고 멋진 환경을 만들고 게임 컨트롤러 및 기타 입력 장치와의 상호작용을 지원할 수 있습니다. TV용으로 10피트의 시네마틱 UI를 빌드할 수 있도록 Android는 v17 지원 라이브러리에 Leanback UI 프레임워크를 제공합니다.
Android TV 입력 프레임워크 (TIF)를 사용하면 TV 앱이 HDMI 입력, TV 튜너, IPTV 수신기와 같은 소스의 동영상 스트림을 처리할 수 있습니다. 또한, TV 입력에 의해 게시된 메타데이터를 통해 라이브 TV 검색과 추천을 활성화하고 HDMI-CEC 제어 서비스를 포함하여 하나의 리모컨으로 여러 기기를 처리합니다.
TV 입력 프레임워크는 다양한 라이브 TV 입력 소스에 액세스를 제공하고 사용자가 콘텐츠를 탐색하고, 보고, 즐길 수 있도록 단일 사용자 인터페이스에 이들을 통합합니다. 콘텐츠를 위한 TV 입력 서비스를 빌드하면 TV 기기에서 콘텐츠의 접근성을 개선하는 데 도움이 될 수 있습니다.
문서 중심 앱
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 그래픽 기능을 사용할 수 있습니다.
OpenGL ES 3.1은 계산 셰이더, 스텐실 텍스처, 가속된 시각 효과, 고급 ETC2/EAC 텍스처 압축, 고급 텍스처 렌더링, 표준화된 텍스처 크기, 렌더 버퍼 형식 등을 추가합니다.
Android 5.0에서는 tessellation 셰이더, 도형 셰이더, ASTC 텍스처 압축, 샘플당 보간 및 음영 처리, 기타 고급 렌더링 기능과 같은 기능에 액세스할 수 있는 OpenGL ES 확장 프로그램 모음인 Android 확장 프로그램 팩 (AEP)도 도입했습니다. 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에는 멀티미디어 터널링 지원이 추가되어 UHD (4K) 콘텐츠에 최적의 환경을 제공하고 압축된 오디오 및 동영상 데이터를 함께 재생할 수 있습니다.
직장에서의 Android
엔터프라이즈 환경에서 BYOD를 사용 설정하기 위해 새로운 관리 프로비저닝 프로세스가 기기에 안전한 직장 프로필을 만듭니다. 런처에서 앱은 IT 관리자가 직장 프로필 내에서 앱과 데이터를 관리하고 있음을 나타내는 직장 배지와 함께 표시됩니다.
개인 및 업무 프로필의 알림은 모두 통합된 뷰에서 볼 수 있습니다. 두 프로필에서 동일한 앱을 사용하는 경우를 포함하여 각 프로필의 데이터는 항상 서로 분리되어 안전하게 보관됩니다.
회사 소유 기기의 경우 IT 관리자가 새 기기로 시작하여 기기 소유자로 구성할 수 있습니다. 고용주는 전역 기기 설정을 구성할 수 있는 기기 소유자 앱이 이미 설치된 기기를 제공할 수 있습니다.
화면 캡처 및 공유
Android 5.0에서는 앱에 화면 캡처와 화면 공유 기능을 추가할 수 있습니다.
사용자 권한이 있으면 원하는 경우 디스플레이에서 비보안 비디오를 캡처하여 네트워크를 통해 전달할 수 있습니다.
새로운 유형의 센서
Android 5.0에서는 새로운 기울기 감지기 센서가 지원되는 기기에서 활동 감지를 개선하는 데 도움이 되며 심박수 센서는 기기를 터치하는 사용자의 심박수를 보고합니다.
이제 새로운 상호작용 복합 센서를 사용하여 깨우기 동작, 들기 동작, 한눈에 보기 동작과 같은 특별한 상호작용을 감지할 수 있습니다.
Chromium WebView
Android 5.0의 최초 출시에는 Chromium M37 출시를 기반으로 WebView
용 Chromium 버전이 포함되어 있으며, WebRTC, WebAudio, WebGL 지원이 추가되었습니다.
Chromium M37에는 맞춤 요소, Shadow DOM, HTML 가져오기, 템플릿 등 모든 Web Components 사양에 대한 네이티브 지원도 포함되어 있습니다. 즉, 폴리필이 필요 없이 WebView에서 Polymer 및 Material Design 요소를 사용할 수 있습니다.
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 및 시스템 구성 요소당 대략적인 전력 사용량 등을 살펴볼 수 있습니다.