안드로이드 Q (Android Q) 베타의 주요 변경점을 소개합니다.


구글의 안드로이드 OS 최신 버전인 안드로이드 Q (Android Q) 베타가 배포되었습니다.


모바일 생태계가 발전함에 따라 안드로이드는 사용자의 보안 및 개인정보를 최우선으로 유지하며 혁신 기술을 활용할 수 있는 것에 집중합니다.


안드로이드 Q 베타 1과 개발자용 미리보기 SDK가 배포되었습니다.


안드로이드 Q의 주요 변경내역에 대해 정리해보았습니다. 5월 구글 I/O (Google I/O) 에서 더 많은 정보를 보실 수 있습니다.






- 먼저 ART는 구글 플레이를 통해 먼저 클라우드 기반 프로필을 제공합니다.

 -> 안드로이드 Q는 ART 런타임에 몇가지 새로운 기능이 추가되어 개발자가 달리 작업하지 않아도 더 빨리 시작할 수 있고 메모리를 적게 소비합니다. 초기 앱 시작을 돕기 위해,

구글 플레이 (Google Play) 는 APK와 함께 클라우드 기반 프로필을 제공합니다. ART 프로파일로, 실행되기 전에도 앱의 일부를 미리 컴파일하여 전반적인 최적화 프로세스를 크게 앞당깁니다.

 클라우드 기반 프로필은 모든 앱에 유용하며 안드로이드 P 이상을 실행하는 기기에서 사용할 수 있습니다.

 -> 또한 ART의 개선이 지속되고 있습니다. 안드로이드 Q는 Zygote 프로세스를 최적화하여 즉시 시작합니다.


- ART 관련 가비지 컬렉터 (GC) 가 개선됩니다.

 -> 세대 별로 가비지를 수집하여 전체 Heap 메모리의 GC에 훨씬 적은 비용이 발생할 것입니다.



- non-SDK 인터페이스 전환에 따른 퍼블릭 API 호환성 향상됩니다.

 -> 안드로이드 P 부터 적용된 정책으로 비 SDK 인터페이스의 사용을 제한하는 대신 더욱 호환성이 향상된 퍼블릭 API를 제공합니다. 각 API는 3가지로 분류되며 targetSDKVersion에 따라 사용 유무가 제한됩니다.

https://developer.android.com/distribute/best-practices/develop/restrictions-non-sdk-interfaces


- 모든 구글 플레이에 등록되는 앱은 신규건 업데이트건 targetSDKversion 28 (Android 9 Pie) 이하로는 등록할 수 없습니다.


- API 23 (Android 6.0 Mashmellow) 이하로 설정된 앱은 실행 시 강제 경고 팝업이 발생됩니다.




- 64bit 패키지 지원이 강제화됩니다.

 -> 2019년 8월 1일부터 모든 구글 플레이에 게시되는 앱은 64bit 아키텍쳐를 지원해야 합니다. 64bit cpu는 사용자에게 더 빠르고 풍부한 경험을 제공합니다. APK Analyzer를 통해 자신의 앱의 네이티브 라이브러리를 확인하십시오.

https://developer.android.com/distribute/best-practices/develop/64-bit



- 위치 관련 권한에 앱을 사용 중일 때만 허용하는 권한이 추가됩니다.

-> 백그라운드에서 사용자의 위치 권한을 요청하면 앱에 영향을 미치게 됩니다. ACCESS_BACKGROUND_LOCATION 권한이 추가됩니다.

https://developer.android.com/preview/privacy/device-location


- 새로운 런타임 권한을 통해 사진, 비디오, 오디오 접근에 대한 앱 제어 및READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE 권한이 세분화됩니다.


 -> 안드로이드 Q는 사용자가 파일을 더욱 잘 제어하고 혼란을 방지하기 위해 파일에 액세스하는 방법을 변경합니다. READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE 권한을 더욱 세분화된 미디어별 권한으로 변경하게 됩니다.


- 각 앱 전용 샌드박스 폴더가 /sdcard 내에 생성되며, 다른 앱은 해당 앱의 샌드박스에 기본적으로 접근 불가합니다. 앱 삭제 시 샌드박스 파일은 삭제됩니다.

 Context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)


- 위의 다른 앱의 샌드박스에 포함된 파일을 보기 위한 권한이 추가됩니다.

  -> READ_MEDIA_IMAGES : 다른 앱 샌드박스의 이미지 보기

  -> READ_MEDIA_VIDEO : 비디오 보기

  -> READ_MEDIA_AUDIO : 오디오 보기


- 일반적인 공유는 기존처럼 MediaStore를 이용합니다.

https://developer.android.com/preview/privacy/scoped-storage


- 사진의 EXIF 정보에 접근하기 위해서는 로케이션 권한 (ACCESS_MEDIA_LOCATION) 필요하도록 변경됩니다.

MediaStore setRequireOriginal() 메서드를 통해 쓰기 가능합니다.



- 폴더블 디바이스 (Foldable Devices) 에 맞춘 onResume, onPause 및 크기 조정 관련된 manifest 정보에 변경 있습니다.

 -> 기본적으로 안드로이드 N에서 추가된 다중 창 지원의 맥락과 같습니다. resizebleActivity를 참고하십시오.

https://developer.android.com/guide/topics/ui/multi-window#resizeableActivity




- Settings.Panel 이라는 팝업형 API가 추가됩니다.

 -> Context의 변경 없이 팝업 형태의 API를 통해 네트워크 연결, 볼륨 조절, NFC 등의 설정을 변경 가능한 API가 추가됩니다.




- 적응형 WiFi 성능 모드 추가되며, 낮은 대기 시간 모드 및 고성능 모드를 추가합니다. 고성능 모드 시 지연시간이 단축됩니다.


- 오디오에서 AV1 코덱을 지원합니다.


- ANGLE을 통해 OpenGL을 호환성을 향상하여 Vulkan 지원합니다.

 -> ANGLE은 구현 전반적으로 OpenGL의 호환성을 고성능으로 유지하기 위해 설계된 그래픽 추상화 계층입니다. ANGLE을 통해, OpenGL ES를 사용하는 많은 앱과 게임은 Vulkan의 성능과 안정성을 활용할 수 있으며 독립적인 Android기기에서도 일관적으로 ES를 사용할 수 있습니다. 안드로이드 Q는 OpenGL Es 2.0을 지원하며, 3.0이 로드맵에 존재합니다.


- 텐서플로우 (TensorFlow) 등 기계학습 신경망 API 1.2을 지원합니다.


- TLS 1.3을 지원합니다.



- NEW_OUTGOING_CALL (전화 발신 브로드캐스트 코드) deprecated됩니다. 대신 CallRedirectionServiceAPI 등으로 대체됩니다.




안드로이드 Q를 소개합니다. (Android, https://android-developers.googleblog.com/2019/03/introducing-android-q-beta.html)

이 글을 공유하기


댓글(0)

Designed by CMSFactory.NET