관리 메뉴

나만을 위한 블로그

[Android] 안드로이드 16(바클라바) 변경점 본문

Android

[Android] 안드로이드 16(바클라바) 변경점

참깨빵위에참깨빵_ 2025. 7. 7. 16:37
728x90
반응형

오늘 날짜를 기준으로 안드로이드 16의 베타 4.1이 사용 가능하다. 미국 시간 기준으로 이미 06.11에 출시된 상태다. 내부 암호명은 바클라바라는 이름이다.

 

https://developer.android.com/about/versions/16/release-notes?hl=ko

 

언젠간 한국에도 상륙할 안드로이드 16이니 어떤 점이 변경되는지 확인해 본다. 먼저 디벨로퍼 기준 16 이상을 타겟팅하는 앱에서 신경써야 할 사항들을 확인해 본다.

 

사용자 환경, UI

 

더 넓은 화면 선택 해제 기능 지원중단

 

targetSdk를 안드로이드 15(api 35)로 지정한 앱에선 전체 화면이 적용됐지만 앱 내에서 windowOptOutEdgeToEdgeEnforcement를 true로 설정해서 선택 해제할 수 있었다.

이제 이 속성이 지원 중단, 사용 중지되면서 개발자가 전체 화면을 선택 해제할 수 없다. 안드로이드 15, 16 타겟팅 앱 기준 각각 아래처럼 작동한다고 한다.

 

  • targetSdk가 안드로이드 16(api 36)이고 안드로이드 15 기기에서 실행된다면 windowOptOutEdgeToEdgeEnforcement는 계속 작동한다
  • targetSdk가 안드로이드 16(api 36)이고 안드로이드 16 기기에서 실행된다면 windowOptOutEdgeToEdgeEnforcement는 사용 중지된다

 

현재 8월까지 안드로이드 15로 targetSdk를 올려야 한다는 소문이 돌고 있으니 늦어도 내년 8월 정도까지는 대응을 마쳐야 할 필요가 있어 보인다.

전체 화면을 지원하려면 컴포즈, 뷰 프로젝트 별로 아래 문서들을 확인하면 된다.

 

https://developer.android.com/develop/ui/compose/system/insets?hl=ko

 

창 인셋 정보  |  Jetpack Compose  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 창 인셋 정보 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 플랫폼은 상태 표시줄 및 탐색 메

developer.android.com

 

https://developer.android.com/develop/ui/views/layout/edge-to-edge?hl=ko

 

뷰에서 더 넓은 화면에 콘텐츠 표시  |  Views  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 뷰에서 더 넓은 화면에 콘텐츠 표시 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Compose 사용해 보기

developer.android.com

 

뒤로 탐색 예측을 사용하려면 이전하거나 선택 해제해야 함

 

안드로이드 16 이상을 타겟팅하고 안드로이드 16 이상 기기에서 실행되는 앱은 뒤로 탐색 예측 시스템 애니메이션이 기본 사용 설정된다. 이 애니메이션은 홈으로 돌아가기, 교차 작업, 교차 활동을 의미하며 onBackPressed()가 호출되지 않고 KeyEvent.KEYCODE_BACK이 더 이상 전달되지 않는다.

뭔 애니메이션인지 모르겠다면 아래를 참고한다. 이 글을 찾아보는 안드로이드 개발자라면 디벨로퍼 뒤적거리면서 한 번쯤은 봤을 법한 익숙한 애니메이션들이다.

 

 

사실상 onBackPressed와 KEYCODE_BACK이 지원중단될 수 있다고 해석된다. 다행히 앱이 뒤로 가기 이벤트를 가로채고 아직 뒤로 탐색 예측으로 마이그레이션하지 않았다면 그렇게 작동하게 앱을 업데이트하거나 매니페스트의 application 또는 activity 태그에서 android:enableOnBackInvokedCallback 속성을 false로 설정해서 일시적으로 선택 해제하는 방법이 있다.

업데이트 방법에 대해선 아래 문서를 참고한다.

 

https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture?hl=ko#update-custom

 

뒤로 탐색 예측 동작 지원 추가  |  App architecture  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 뒤로 탐색 예측 동작 지원 추가 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 그림 1. 휴대전화에 표

developer.android.com

 

elegant 폰트 api 지원 중단, 사용 중지

 

안드로이드 15를 타겟팅하는 앱은 기본적으로 elegantTextHeight, TextView 속성이 true로 돼 있어서 좁은 폰트를 더 읽기 쉬운 폰트로 대체한다. elegantTextHeight를 false로 설정해서 재정의할 수 있다.

안드로이드 16부턴 이 elegantTextHeight 속성이 지원 중단되고 앱이 안드로이드 16을 targetSdk로 삼으면 이 속성이 무시된다.

이런 api로 제어되는 UI 폰트가 지원 중단되기 때문에 아랍어, 라오어, 미얀마어, 타밀어, 구자라트어, 칸나다어, 말라얄람어, 오디어, 텔루구어, 태국에서 일관된 텍스트 렌더링을 보장하려면 레이아웃을 조정해야 한다.

 

핵심 기능

 

고정 비율 작업 예약 최적화

 

안드로이드 16 타겟팅 전에는 scheduleAtFixedRate가 유효한 프로세스 생명주기를 벗어나기 때문에 작업 실행을 놓쳤을 때 앱이 유효한 생명주기로 돌아가면 누락된 실행이 모두 즉시 실행됐었다.

안드로이드 16을 타겟팅하는 앱에선 앱이 유효한 생명주기로 돌아가면 누락된 scheduleAtFixedRate 실행이 최대 1회 즉시 실행된다. 안드로이드는 이 동작 변경으로 앱 성능이 개선될 것으로 기대하고 있다.

앱 호환성 프레임워크를 사용하고 STPE_SKIP_MULTIPLE_MISSED_PERIODIC_TASKS 플래그를 사용 설정해서 테스트할 수 있다고 하니 관심 있다면 테스트해보는 것도 좋겠다.

프로세스 생명주기가 생소한 용어라면 아래의 디벨로퍼 링크를 확인하면 도움이 될 것이다.

 

https://developer.android.com/guide/components/activities/process-lifecycle?hl=ko

 

프로세스 및 앱 수명 주기  |  Android Developers

대부분의 경우 모든 Android 애플리케이션은 자체 Linux 프로세스에서 실행됩니다. 이 프로세스는 일부 코드를 실행해야 할 때 애플리케이션용으로 생성되며 더 이상 필요하지 않고 시스템에서 메

developer.android.com

 

기기 폼 팩터

 

폴더블, 태블릿 같은 큰 화면을 가진 기기에 앱이 표시될 때 적용되는 변경사항을 의미한다.

 

적응형 레이아웃

 

이제 안드로이드 앱이 핸드폰, 태블릿, 폴더블, 데스크톱, 차, TV 등에서 실행되고 큰 화면의 창 모드(화면 분할, 데스크톱 창 모드)가 지원되기 때문에 개발자는 기기 orientation과 무관하게 모든 화면, 창 크기에 맞게 조정되는 앱을 빌드해야 한다.

앱을 쓰다 보면 기기를 가로로 돌렸을 때 화면이 바뀌지 않도록 매니페스트에 orientation을 vertical로 강제하는 앱을 심심찮게 볼 수 있는데 안드로이드 16에선 이런 것도 제한하려는 것 같다. 오늘날 방향 제한, 크기 조절 가능성 같은 패러다임은 멀티 스크린 환경에서 너무 제한적이라고 언급하고 있다.

 

방향, 크기 조절 가능 여부, 가로세로 비율 제한 무시

 

안드로이드 16을 타겟팅하는 앱의 경우 안드로이드 16에는 시스템이 방향, 크기 조정 가능성, 가로세로 비율 제한을 관리하는 방식에 대한 변경사항이 포함돼 있다. 최소 너비가 600dp를 초과하는 디스플레이에선 이런 제한사항이 적용되지 않을 예정이다.

앱은 가로세로 비율, 유저의 선호 방향과 상관없이 전체 디스플레이 창을 채우며 레터박스 처리는 쓰이지 않는다. 레터박스란 말이 생소하다면 아래 사진을 참고한다.

 

https://haruple.tistory.com/246

 

앱 화면 양 옆에 기기의 바탕화면이 보이는데 이 영역을 레터박스라고 부른다.

레터박스에 대해선 아래 문서를 참고하는 게 더 빠를 것이다.

 

https://developer.android.com/guide/practices/device-compatibility-mode?hl=ko#common_compatibility_issues

 

기기 호환성 모드  |  Compatibility  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 기기 호환성 모드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android에서는 방향 또는 크기 조절 가

developer.android.com

 

건강, 피트니스

 

건강 / 피트니스 권한

 

BODY_SENSORS 권한은 헬스 커넥트에서도 쓰는 android.permissions.health 아래에서 더 세분화된 권한을 사용한다. 안드 16 이전에 BODY_SENSORS 또는 BODY_SENSORS_BACKGROUND가 필요한 api에는 대신 해당하는 android.permissions.health 권한이 필요하다.

워치를 연동해서 건강 관련된 앱을 만드는 사람들이 한 번 체크해야 할 포인트 같다.

 

앱 소유 사진

 

안드 16 이상을 실행하는 기기에서 targetSdk가 36인 앱이 사진 / 동영상 권한을 요청하는 메시지가 표시되면 선택한 미디어에 대한 접근을 제한하는 유저에겐 앱이 소유한 사진이 photo picker에서 미리 선택된 상태로 표시된다. 유저는 이 선택된 항목을 선택 해제할 수 있는데 선택 해제한 경우 앱의 사진, 동영상 접근 권한이 취소된다.

뭔 소린지 잘 이해가 안 되서 영어로도 검색해 봤지만 안드로이드 개발자 블로그, 구글 블로그에서도 마땅히 납득될 만한 내용이 없어서 일단 이런 변경사항이 있다는 것 정도는 알고 넘어가면 좋을 듯하다.

 

특기할 만한 내용은 이 정도로 생각된다. 굳이 다루지 않은 MediaStore 버전 잠금, 블루투스 관련 내용 등 궁금한 게 있다면 디벨로퍼를 확인해 본다.

 

https://developer.android.com/about/versions/16/summary?hl=ko

 

Android 16 기능 및 변경사항 목록  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Android 16 기능 및 변경사항 목록 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 다음 표에는 앱 개발자

developer.android.com

 

https://developer.android.com/about/versions/16/behavior-changes-16?hl=ko

 

동작 변경사항: Android 16 이상을 타겟팅하는 앱  |  Android Developers

Android 16 이상을 타겟팅하는 앱에 영향을 미치는 Android 16의 변경사항을 알아봅니다.

developer.android.com

 

마지막으로 GeekNews에 올라온 안드로이드 16 관련 내용을 확인하고 마무리한다.

 

https://news.hada.io/topic?id=21406

 

Android 16 출시 | GeekNews

Android 16이 공식 공개되어 Pixel 기기부터 정식 배포되며, 올해 내 다양한 브랜드로 확장될 예정임실시간 알림 업데이트, 앱별 알림 자동 그룹화 등으로 정보 과부하를 줄이고, 사용자 경험을 대폭

news.hada.io

실시간 알림, 그룹화 : 배달, 이동 서비스 등 실시간 상태 변화를 앱에 들어가지 않아도 알림으로 바로 확인 가능. 같은 앱의 다수 알림이 자동 그룹화됨(안드로이드 15에서도 비슷한 기능이 지원되고 있다)

청각 보조기기 지원 : LE 오디오 지원 보청기 사용 시 내장 마이크 대신 핸드폰 마이크로 전환 가능

데스크톱 윈도우 관리 : 태블릿, 폴더블에서 여러 앱을 데스크톱처럼 윈도우로 띄워서 배치하거나 크기 조절 가능

커스텀 키보드 단축키 : 커스텀 단축키로 워크플로우 맞춤화

태스크 바 오버플로우 : 태스크바가 꽉 찼을 때 확장 창에서 추가 앱들을 빠르게 검색하고 실행할 수 있음...(중략)
반응형
Comments