-
OS버전 별 변경점Dev/android 2019. 8. 16. 01:18
내가 처음 프로젝트 맡은 앱의 minSdk가 킷캣이었기 때문에 킷캣 이후로 정리
Kitkat 4.4 ~ 4.4.4
레퍼런스 기기는 넥서스 5
기기화면 녹화기능
LED 플래시 사용
크롬 WebView 적용
Lolipop 5.0 ~ 5.1.1
머터리얼 디자인
64비트 CPU 지원
볼타 프로젝트 적용 배터리 성능 향상
Marshmallow 6.0 ~ 6.0.1
퍼미션 관리
NFC 내장
지문인식
앱 제어
Doze 모드
ApacheHttpClient 지원 중단
개발자에겐 크게 대응이 필요했던 버전이다.
키보드 개발 할 땐 서비스이기 때문에 신경 안썼는데, 일반 앱을 개발할 땐, Doze모드가 적용되서 백그라운드가 멈추기 때문에 이에 대응이 필요했다.
그리고 앱에서 사용하는 권한중에 사용자에게 물어봐야하는 권한이 생겼다. 권한을 거부하면 기능을 사용할 수 없기 때문에 그에 대한 대응도 필요했다. 사용자들이 권한 요청에 대해 찝찝해 하면서 왜 이 권한이 필요한지에 대한 문의가 들어왔던 기억이 있다.
전 직장에서는 서버랑 통신할 때, ApacheHttpClient를 사용하고 있었다. 6.0인데 어떻게? 하고 보니 매니페스트에서 legacy 라이브러리를 사용하여 기능을 유지하고 있었다. 음... 비효율적이라서 추후에 바꿔버렸다.
Nougat 7.0 ~ 7.1.2
다중창 지원
가상현실 플랫폼 Daydream지원
Doze모드 소비 전력 관리
유니코드 9.0 이모티콘
보안, 언어지원, 접근성 개선
화면 해상도 변경
초반에 유니코드 9.0 이모티콘 지원하길래 넣었더니 일부 단말기에선 9.0 이모티콘을 지원하지 않아 깨져 보여서 문제였던 기억이 있다.
도즈모드는 6.0에서 대응했기 때문에 크게 문제된건 없다.
사용자가 화면 해상도를 변경할 수 있기 때문에 해상도별 UI를 재정비했던 기억이 난다. 폰 별로 반응하는게 달라서 좀 당황..
Oreo 8.0 ~ 8.1
백그라운드 실행 제한
백그라운드 위치 제한
브로드캐스트 제한
PIP기능 (Picture In Picture)
명시적으로 요청한 권한만 허용
Notification Channel (알림채널)
읽기 권한을 예전에는 암시적으로 넘어갔다면, 이제는 사용자에게 꼭 요청받아야 한다. 안그러면 이제 앱이 제 기능을 못하거나 예외처리가 안되어있으면 중지된다.
그리고 푸시기능을 사용하려면 꼭 알림채널을 만들어 줘야한다.
개인적으로 PIP 기능을 사용하는 앱을 만들어보고 싶다.
Pie 9.0
노치
https 사용
노치에 대해 대응하느라 캔버스로 된 뷰 수정한 기억이난다. 키보드를 가로모드로 사용 할 때 노치부분이 키보드 옆을 가렸었다.
http 로 서버에 접근하려 할 때 9.0 단말기에서 갑자기 죽어서 보니깐, https를 사용하라고 한다. 근데 서버가 아직 http만 가능한걸..?
매니페스트에 usesCleartextTraffic = true 를 줘서 일단 가능하게 해뒀다.
'Dev > android' 카테고리의 다른 글
Glide로 서버에서 이미지를 받아 MenuItem의 아이콘 변경하기 (비트맵으로 변경하기) (0) 2020.01.14 ImageView에서 background 와 src 의 차이 (0) 2019.12.16 안드로이드 웹뷰에서 로그인 세션 유지하기 (1) 2019.05.09 Firebase Cloud Messaging (FCM / 푸시 알림) 사용하기 2 (0) 2019.05.09 Firebase Cloud Messaging (FCM / 푸시 알림) 사용하기 1 (0) 2019.05.09