정리를 안하면 대충 읽게되서 적기 시작했는데, 역시나 막판에는 귀찮아서 대충하게 된다.
다음에는 P에서의 동작 변경 사항에 대해 정리해 봐야겠다.
Android P Features and APIs
원문 : https://developer.android.com/preview/features.html
상세 변경 사항은 아래 링크에서 확인
API diff report : https://developer.android.com/sdk/api_diff/p-dp1/changes.html
Api reference : https://developer.android.com/reference/classes.html
Indoor Positioning with Wi-Fi RTT
실내에서 측위를 위한 기술인 Wi-Fi RTT(Round-Trip-Time) 를 지원
새로운 RTT APIs 를 사용하여 근처의 Wi-Fi AP와의 거리 측정 가능
단말의 Wi-Fi scanning이 켜져 있어야함(Settings > Location)
ACCESS_COARSE_LOCATION 퍼미션이 있어야함
단말이 AP와 연결되지는 않음
AP는 단말의 정보를 저장하지 않음
3개 이상의 AP에서 거리를 측정할 수 있다면 Multilateration 알고리즘을 사용하여 1~2미터의 정확도로 거리를 위치를 측정할 수 있음
실내에서 "이 전등 켜줘", "이 제품에 대한 특별 할인이 있나요?" 와 같은 서비스가 가능해짐.
Display cutout support
노치 디자인 폰을 위한 개발을 지원함. (애플은 이제 안한다는데...)
Notifications
여러가지 향상된 notification 기능을 제공함(targetSDK p 이상 )
Enhanced messaging experience
Android 7.0(API level 24)부터 알림에서 바로 메시지를 답장하거나 텍스트가 입력 가능했음. Android P에서는 이 기능을 더 향상시킴
Channel settings, broadcasts, and Do Not Disturb
Android Oreo에서 Notification Channels이 추가되어 사용자가 받고자 하는 알림을 설정 할 수 있었음. P에서는 이 설정을 단순화 하였음
Multi-camera support and camera updates
멀티카메라를 위한 지원이 추가되고, 기존 카메라 관련된 지원이 향상 되었음
ImageDecoder for bitmaps and drawables
이미지 디코딩을 위한 ImageDecoder 를 제공함. 이제 BitmapFactory와 BitmapFactory.Options API는 떠나보내도됨.(하위버전은??)
디코딩 뿐만 아니라, 리사이징, 크롭, 라운드 코너 등의 기능이 포함되어 있음
Animation
GIF와 WebP 애니메이션 이미지를 위해 AnimatedImageDrawable 이 추가되었음.(진작 좀 해주지..)
RenderThread에서 동작함
RenderThread는 workerthread에서 디코딩 하므로, 디코딩은 렌더 쓰레드를 방해하지 않음
App의 UI 쓰레드를 방해하지 않으면서 애니메이션이 돌아감
AnimatedImageDrawable은 새로운 ImageDecoder 를 사용하여 디코딩 할 수 있음
아래 코드는 ImageDecoder를 사용하여 AnimatedImageDrawable을 디코딩 하는 것을 보여줌
Drawable d = ImageDecoder . decodeDrawable ( . . . ) ;
if ( d instanceof AnimatedImageDrawable ) {
( ( AnimatedImageDrawable ) d ) . start ( ) ; // Prior to start(), the first frame is displayed
}
HDR VP9 Video, HEIF image compression, and Media APIs
HDR(High Dynamic Range) VP9 Profile 2를 내장 지원함
HEIF(High Efficiency Image File Format) 이미지 인코딩을 지원함
HEIF와 JPEG의 가장 큰 차이점은 여러장의 이미지를 하나의 파일로 저장할 수 있는가?(아이폰 라이브포토)
MediaPlayer2 가 추가됨. DataSourceDesc를 통해 만들어진 플래이 리스트를 재생함
MediaDRM 클래스에 함수를 추가함. metrics, HDCP levels, security levels, 세션수 를 얻어오는 함수 등 보안을 강화하기 위한 함수 등
Data cost sensitivity in JobScheduler
JobScheduler 가 네트워크 관련된 사용자 job을 더 잘 처리할 수 있도록 향상되었음
통신사가 제공하는 별도의 네트워크 상태 신호 등을 사용하여 향상. 네트워크가 혼잡한 경우 대규모의 네트워크 요청을 지연시킴.
Job에 예상 데이터 크기, 상세한 네트워크 요구사항, signal prefetching(?)을 지정 가능함
setEstimatedNetworkBytes()
setIsPrefetch()
setRequiredNetwork()
Neural Networks API 1.1
Neural Networks API는 Android 8.1(API level 27)에 포함되었음. P에서는 다음의 9가지 작업애 대한 지원이 추가
Pad, BatchToSpaceND, SpaceToBatchND, Transpose, Strided Slice, Mean, Div, Sub, and Squeeze
Autofill framework
Autofill framework는 Android 8.0(API level 26)에 포함됨(써봤는데 효용성이 크게 와닫지 않았었음) P 에서 여러가지 기능들이 향상되었는데 상세한 내용은 여기 에 별도 페이지로 정리되어 있음(내용이 많다. 다음에..)
Security enhancements
여러가지 보안 관련된 새로운 내용들이 소개되었음 상세 내용은 여기 에 별도 페이지로 정리되어 있음(내용이 많다. 이것도 다음에..)
통합 지문 인증 다이얼로그
High-assurance 사용자 확인
하드웨어 보안 보듈
Keystore를 통해 보안키 가져오기
Client-side encryption of Android backups
Android P에서는 클라이언트의 secret을 사용하여 Android backup의 암호화가 가능하다. 데이터를 복원 할 때는 pin 패턴, 암호 등이 필요하다. 상세 내용은 여기 를 확인하자
(안써봐서 무슨 내용인지 모르겠다)
Accessibility
접근성 향상을 위해 여러가지 action, attributes, method 등이 assessibilty framework 에 추가되었다. 상세 내용은 여기 를 확인하자
(개발할때 생각은 하지만 우선순위가 높지 않은 부분이다. 항상 고려하여 개발을 하자)