미니 Android Q 변경점 정리
- Score_고동빈
- 조회 수 728
- 2019.05.08. 08:28
- SYSTEM_ALERT_WINDOW(화면 위에 앱 그리기) 사용을 멈춰주세요
- 페메같은 류의 버블 UI를 위한 API가 추가됩니다
- 장기적으로 해당 기능을 Deprecate 시키는 것을 고려중입니다
- 알림에 우선 순위 도입
- 알림이 이제 Priority / Gentle 알림 두 가지로 분류됩니다
- Gentle 알림은 사용자를 덜 괴롭혀요
- 근데 앱이 우선 순위를 설정하게 놔두면 모든 앱이 Priority를 가져갈 테니까
- 앱이 사용자에게 Priority 권한을 요청하던가
- OS가 판단했을 때 진짜 우선 순위가 필요할 경우에만
- Priority 권한이 부여됩니다
- 참고로 부여된 권한은 언제든 유저가 변경할 수 있어요
- 개발자가 UI를 설계할 때 제스쳐 공간에 대한 고려가 필요합니다
- 제스쳐가 들어갈 사이드 혹은 아래 공간에는 UI 컴포넌트 배치를 최소화 해야 합니다
- ART
- 이제 앱의 ART 프로파일이 구글의 클라우드에 저장됩니다
- 모든 앱 사용자의 ART 프로파일이 구글 클라우드에 저장되어 분석됩니다
- 최대 15%의 실행 속도 개선이 뒤따릅니다
- Generational GC
- 최근에 생성된 객체에 대한 GC를 우선적으로 시행합니다
- Cheaper, faster, better
- Kotlin
- @Nullable로 어노테이션 된 API의 경우 Nullability를 처리하지 않으면 이제 경고 대신 에러가 뜹니다
- Coroutines in Jetpack
- TLC 1.3 기본 지원
- 생체 인식 팝업
- Implicit confirmation (이건 뭔지 잘 감이 안잡히네요)
- 패스코드 Fallback (생체 인증이 실패할 경우 비밀번호 입력) 이 지원됩니다
- PowerManager API
- 쓰로틀링 관련 데이터를 받아볼 수 있습니다
- ML NNAPI 지원
- 모든 Q 탑재 기기에 Vulkan 1.1 지원이 의무화됩니다
- 16-bit 색상 기본 지원
- 다음의 경우 8-bit 색상으로 fallback 됩니다
- 많은 성능을 요할 때
- 메모리 사용량이 감소할 때
- 다른 앱에서 발생하는 소리를 캡쳐 가능합니다. Q 이전 OS에서는 꺼져있습니다
- 내/외부 저장소 접근 정책
- TargetSdk P 혹은 그 이전: 기존과 동일
- TargetSdk Q부터:
- 기본으로 샌드박싱됨
- 미디어 파일에 접근해야 할 경우: Storage 관련 권한 허가 + MediaStore API 사용
- 사진 메타데이타에 접근해야 할 경우: Storage + MediaLocation 관련 권한 허가
- 종전과 같이 접근해야 할 경우(파일 관리자 등): Manifest에 Flag 추가 필요
- 위치 권한을 사용자가 허가하도록 하는 팝업 표시가 의무화됩니다
- 이제 앱이 Activity를 시작하려면
- 실행중이거나
- 실행 중인 앱에서의 PendingIntent를 받았거나
- 시스템에서의 PendingIntent를 받았거나
- 시스템에서 Broadcast를 받아야 합니다
- 즉, 앱이 함부로 백그라운드에서 Activity를 맘대로 실행하지 못합니다
- 정 그러고 싶으면, 알림을 띄워서 사용자가 Activity를 실행시킨다는 것을 인지하도록 해야 합니다
- 앱이 시스템의 Wi-Fi를 맘대로 켜거나 끌 수 없습니다
- 해당 기능이 필요하면, Q부터 추가되는 Settings Panel 기능을 통해 사용자가 직접 Wi-Fi를 켜거나 끄게끔 유도해야 합니다
중간에 대충 들어서 빠진 부분도 있긴 한데 일단은 이정도네요.
iOS화 그대로 가는 군요.