개발자들과 대화를 하다보면 가끔 버전 네이밍에 대해서 얘기하는데, 상식으로 알아두면 좋다. 나는 1.6버전부터 개발을 진행했었다. Android 소스 전체를 구글에서 받아서 돌려보면 파일IO가 안되서 커널 소스를 고치던 추억이 있다.
- 베타
- 안드로이드 1.0 애플파이
- 안드로이드 1.1 쁘띠 푸르
- 안드로이드 1.5 컵케이크
- 안드로이드 1.6 도넛
- 안드로이드 2.0 / 2.1 에클레어
- 안드로이드 2.2 프로요
- 안드로이드 2.3 진저브레드
- 안드로이드 3.0 ~ 3.2 허니콤
- 안드로이드 4.0 아이스크림 샌드위치
- 안드로이드 4.1 ~ 4.3 젤리빈
- 안드로이드 4.4 킷캣
- 안드로이드 5.0 롤리팝
- 안드로이드 6.0 마시멜로
- 안드로이드 7.0 누가
- 안드로이드 8.0 오레오
- 안드로이드 9.0 파이
- 안드로이드 10 퀸 케이크
- 안드로이드 11 레드 벨벳 케이크
- 안드로이드 12 사브리나
- 안드로이드 13 티라미수
정리 필요함.
정리 필요함.
정리 중.
현재는 미출시 상태이다. 2022년 3Q 출시 예정이며, 6월부터 베타 릴리즈가 시작된다. 프레임워크 API 레벨은 33이다. 아래에 링크에 자세히 설명되어 있고, 각 기능별로 정독해보고 알아야 할 부분들은 정리해본다.
https://blog.esper.io/android-13-deep-dive/#table-of-contents
디자인은 많은 부분들이 업데이트(?) 되었다. 특이할만한 부분들만 정리해본다. 주로 큰 화면 UI 지원이 넓어졌다고 한다. 안드로이드의 활용 분야가 넓어졌다고 볼 수 있다.
Media controls are now derived from PlaybackState : 미디어 state 변경
Control an app’s ability to turn on the screen : 스크린 켜기 기능 추가
Foreground service manager and notifications for long-running foreground services : 오래돌아가는 서비스를 노티해 준다.
Job priorities : JobInfo를 JobScheduler에 알려주어 앱 작업에 필요한 네트워크, 충전 상태 등의 조건을 지정할 수 있다.
PRIORITY_MIN: For tasks that the user should have no expectation or knowledge of, such as uploading analytics. May be deferred to ensure there’s sufficient quota for higher priority tasks.
PRIORITY_LOW: For tasks that provide some minimal benefit to the user, such as prefetching data the user hasn’t requested. May still be deferred to ensure there’s sufficient quota for higher priority tasks.
PRIORITY_DEFAULT: The default priority level for all regular jobs. These have a maximum execution time of 10 minutes and receive the standard job management policy.
PRIORITY_HIGH: For tasks that should be executed lest the user think something is wrong. These jobs have a maximum execution time of 4 minutes, assuming all constraints are satisfied and the system is under ideal load conditions.
PRIORITY_MAX: For tasks that should be run ahead of all others, such as processing a text message to show as a notification. Only Expedited Jobs (EJs) can be set to this priority.
Notifications for excessive background battery use : 백그라운드 배터리 사용 경고
Prefetch jobs that run right before an app’s launch : 앱 시작전에 pre 작업을 등록하여 사용할 수 있다.
setPrefetch
https://developer.android.com/reference/android/app/job/JobInfo.Builder#setPrefetch(boolean)
The Android Resource Economy(TARE) : credits에 위임하여 비용을 산출하여 관리한다.
Hardware camera and microphone toggle support
Non-matching intents are blocked : 앱이 Android 13 이상을 타겟팅하는 다른 앱의 내보낸 구성요소로 인텐트를 보낼 경우, 인텐트는 받는 앱의 요소와 일치하는 경우에만 전송됩니다. 즉, 시스템은 다음과 같은 경우를 제외하고 모든 일치하지 않는 인텐트를 차단합니다.
https://developer.android.com/about/versions/13/behavior-changes-13#intent-filters
해당 변경점에 대해서는 한번 읽어 보고 정리는 생략하도록 하겠다.
큰 파도들을 타는 서퍼들은 힘들어 보일 수도 있다. 하지만 더 큰 파도를 고르면서 타려고 한다. 재미?
이 파도처럼 IT분야에서는 항상 많은 변화와 개선 사항들이 몰려온다. 물론 개발자들에게는 이슈와 대응 업무가 과중될 수 있다. 긍정적으로 생각하기로했다. 항상 새로운 것을 받아들이고 준비하는데 재미를 느껴보자고... 그럼 자연스럽게 서퍼처럼 기술의 흐름을 잘 탈 수 있지 않을까 싶다.
android 13 : https://developer.android.com/about/versions/13
https://blog.esper.io/android-13-deep-dive/