안드로이드 파이(Android 9.0) 신규기능
약 1년 여간의 개발 및 테스트를 통해 드디어 오늘 안드로이드 9.0 파이가 공개되었습니다.
구글은 블로그를 통해 7개의 제조사와 14만명의 사용자들이 베타 프로그램을 통해 안드로이드 파이를 테스트를 진행했으며, 오늘부터 Android 9.0이 Rollout 된다고 전했습니다.
이와 더불어 9.0에서 달라진 점에 대해서도 소개했는데요. Android9은 머신러닝을 활용하여 스마트폰을 더욱 스마트하게 해주며, 사용성 및 성능 개선, 보안 및 개인정보 보호기능이 강화되었다고 합니다.
그래서 오늘은 구글 블로그에 공개한 Android Pie의 새로운 기능에 대해서 알아보도록 하겠습니다.(원문)
1. Adaptive Battery
DeepMind와 제휴하여 적응형 배터리(Adaptive Battery) 기능을 적용했습니다. 이 기능은 머신러닝을 통해 사용자가 가장 관심있어하는 앱의 시스템 리소스에 우선순위를 부여하고, 자주사용하지 않는 앱들은 배터리 소모를 최소화 시켜 줍니다.
2. Slices
슬라이스는 하나의 앱위에 다른앱 표시할 수 있는 동적 콘텐츠 UI템플릿입니다. 슬라이스는 구글검색에서 구글 어시스턴스를 사용하는 것처럼 전체화면을 사용하는 앱에서 다른앱을 기능을 활용할 수 있는 기능입니다.
3. App Actions
앱 액션은 앱의 가시성을 높이고 참여를 유도할 수 있는 기능입니다. 앱 액션은 머신러닝 기반으로 사용자의 컨텍스트나 앱이 의도에 따라 사용자에게 앱을 노출시켜주는 기능입니다.
4. Text Classifier and Smart Linkify
텍스트분류 API에 머신러닝을 적용해서 날짜 및 비행번호 같은 많은 유형을 정보를 분류할 수 있게되었습니다. Smart Linkyfy를 사용하면 빠른 후속작업을 위한 다양한 옵션을 사용자에게 제공할 수 있으며 Linkify API를 통해 TextClassfier 모델을 활용할 수 있습니다.
5. Neural Networks API 1.1
Neural Networks API 가 업데이트되었습니다. Pad, BatchToSpaceND, SpaceToBatchND, Transpose, Strided Slice, Mean, Div, Sub, and Squeeze의 9가지 새로운 작업을 지원합니다.
6. New system Navigation
새로운 네비게이션 시스템이 적용되었습니다. 앱을 찾고 전환하는 작업을 훨씬 효율적으로 할 수 있습니다.
7. Display Cutout
디스플레이 컷아웃 기능을 활용해 전체화면을 보다 효율적으로 사용하며 앱의 집중도를 높힐 수 있게되었습니다.
8. Notifications and smart reply
새로운 MessagingStyle API를 활용해 대화를 표시하고 사진과 스티커를 첨부할 수 있으며 자동답장(Smat Reply) 기능도 제공할 수 있습니다.
9. Text Magnifier
텍스트 선택을 쉽게할 수 있도록 돋보기 위젯이 추가됐습니다. 돋보기 위젯을 사용해 확대된 텍스트를 보고 커서를 정확하게 움직이거나 텍스트를 선택할 수 있습니다. 돋보기 위젯은 텍스트 뿐만 아니라 View 나 Surface도 확대가 가능합니다.
10. Biometric prompt
생체인증에서의 일관된 사용자경험을 제공하기 위해 BiometricPrompt API에서 표준 인증창을 제공합니다. 자체적으로 지문 인증창을 제공했던 앱서비스는 가능한 빨리 BiometricPrompt API로 전환해야 합니다.
11. Protected Confirmation
신뢰할 수있는 실행 환경(Trusted Execution Environment)을 사용하는 Android Protected Confirmation을 도입하여 주어진 프롬프트 문자열이 사용자에게 표시되고 확인되도록 합니다. 사용자 확인이 성공한 후에야 TEE는 앱이 확인할 수있는 프롬프트 문자열에 서명합니다.
12. Stronger protection for private keys
StrongBox를 새로운 KeyStore 유형으로 추가하여 격리 된 CPU, RAM 및 보안 플래시로 변조 방지 하드웨어에 키 저장소를 제공하는 장치에 대한 API 지원을 제공합니다. KeyGenParameterSpec에서 StrongBox 보안 칩으로 키를 보호해야하는지 여부를 설정할 수 있습니다.
13. DNS over TLS
네트워크의 DNS 서버가 TLS를 지원할 경우 자동으로 DNS 쿼리를 TLS로 업그레이드하는 TLS를 통한 DNS 지원 기능을 기본으로 제공합니다.
14. HTTPS by default
HTTPS를 기본값을 변경하여 모든 일반 텍스트 트래픽을 차단합니다. 특정 도메인에 대해 일반 텍스트를 명시 적으로 선택하지 않는 한 TLS를 통해 연결해야합니다.
15. Compiler-based security mitigations
위험한 동작의 런타임 탐지하기 위해 컴파일러 레벨의 완화 기능 확대했습니다. CFI(ControlFlowIntegrity)기술은 코드 재사용 공격과 임의 코드 실행을 방지하는 데 도움이 되는데, 미디어 프레임워크과 NFC, 블루투스에 CFI사용을 확대했습니다.
16. Privacy for users
Idle 상태의 앱에서 마이크, 카메라와 같은 모든 센서에 대한 액세스를 제한합니다.
17. Multi-camera API and other camera updates
멀티 카메라 API를 지원하는 스마트폰에서 두개 이상의 카메라 스트림을 동시에 열 수 있습니다. 듀얼 프론트/백 카메라가 있는 스마트폰의 경우 줌, bokeh 및 스테레오 비전와 같은 기능 제공이 가능합니다.
18. HDR VP9 Video and HEIF image compression
HDR VP9 프로파일 2를 지원하기때문에 HDR 지원 장치를 통해 HDR 지원 동영상을 사용자에게 제공 할 수 있습니다. HEIF 이미지 인코딩을 지원하기 때문에 저장 장치 및 데이터소모를 줄일 수 있습니다.
19. Enhanced audio with Dynamics Processing
Dynamics Processing API를 사용해 새로운 오디오 효과를 사용거나, 특정 주파수를 분리할 수 있으며, 부드러운 소리를 늘려 앱의 음질을 향상시킬 수 있습니다.
20. ImageDecoder for bitmaps and drawables
ImageDecoder API를 사용하면 이미지를 bitmap 또는 drawables로 쉽게 디코딩 할 수 있습니다. byte buffer, file 또는 URI에서 bitmap 또는 drawable을 만들 수 있습니다.
21. Wi-Fi RTT for indoor positioning
IEEE 802.11mc Wi-Fi 프로토콜 지원을 통해 실내위치 지정 기능을 사용할 수 있습니다. RTT API를 사용하면 근처 공유기까지의 거리를 측정할 수 있습니다. RTT API는 공유기에 연결할 필요가 없으며, 3개 이상의 AP와의 거리를 계산하면 1m의 오차로 실내 위치 측정을 할 수 있습니다.
22. Data cost sensitivity in JobScheduler
JobScheduler는 예정된 작업을 관리하거나 Doze, App Standby 및 Background Limits 를 컨트롤하는 안드로이드의 중앙 서비스 입니다. 안드로이드 파이에서 JobScheduler는 통신사에 의해 개별적으로 제공되는 네트워크 상태 신호로 조정하여 사용자를 위해 네트워크 관련 작업을보다 잘 처리할 수 있습니다.
23. Open Mobile API for NFC payments and secure transactions
GlobalPlatform Open Mobile API를 지원합니다. 스마트카드 결제 및 기타 보안 서비스를 사용하기 위해 보안요소(SE)에 액세스 할 수 있습니다.
24. ART performance
ART 런타임을 통해 모든 앱의 성능 및 효율성을 개선합니다. ART의 실행 프로필 사용을 확장하여 앱을 최적화하고 컴파일 된 앱 코드의 메모리 사용량을 감소시켰습니다.
25. Optimized for Kotlin
Google은 Android 용 Kotlin에 지속적인 노력을 기울였으며 Kotlin 코드의 성능 최적화를 비롯한 지속적인 지원을 확대했습니다. 특히 루프를 대상으로하는 여러 컴파일러 최적화를 개선하여 성능을 향상 시켰습니다. 우리는 또한 JetBrains과 협력하여 Kotlin의 생성 된 코드를 최적화하기 위해 계속 노력하고 있습니다. Android Studio의 Kotlin 플러그인을 최신 상태로 유지하면 Kotlin의 모든 최신 성능을 향상시킬 수 있습니다.