일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Rxjava Observable
- ANR이란
- 플러터 설치 2022
- 객체
- jvm 작동 원리
- 자바 다형성
- 안드로이드 라이선스
- rxjava disposable
- 안드로이드 유닛 테스트 예시
- android ar 개발
- ar vr 차이
- 서비스 vs 쓰레드
- 안드로이드 레트로핏 사용법
- 안드로이드 유닛 테스트
- jvm이란
- rxjava cold observable
- 안드로이드 유닛테스트란
- 2022 플러터 안드로이드 스튜디오
- 2022 플러터 설치
- 스택 큐 차이
- 안드로이드 라이선스 종류
- android retrofit login
- 클래스
- 멤버변수
- 스택 자바 코드
- 안드로이드 os 구조
- rxjava hot observable
- 큐 자바 코드
- 서비스 쓰레드 차이
- 안드로이드 레트로핏 crud
- Today
- Total
나만을 위한 블로그
[Android] 안드로이드 생태계 및 안드로이드 15 변경사항 본문
현재 안드로이드 15는 베타 단계다. 디벨로퍼에 걸린 로드맵대로라면 곧 플랫폼 안정화 단계로 이동하면서 15에 적용될 변경사항들이 확정될 것이다.
그럼 현재까지 드러난 안드로이드 15의 변경사항과 변화되는 안드로이드 생태계는 무엇이 있는지 확인한다.
먼저 안드로이드 생태계의 변경사항부터 확인한다.
아래 링크를 바탕으로 작성했다.
https://blog.google/products/android/android-15-google-io-2024/#theft-privacy-security
private 공간에 앱 숨기기
추가 인증이 필요한 별도의 공간을 만들어서 특정 앱을 숨길 수 있다.
일종의 금고 같은 기능으로 건강 앱, 은행 앱 같은 민감한 앱을 숨겨서 다른 사람이 볼 수 없게 할 수 있다.
지문으로 잠금 상태를 해제하게 설정한 경우, 비밀 공간에 접근하려면 다시 한 번 지문 인식이 필요하다.
핸드폰을 남에게 넘겨주거나, 잃어버린 경우 보여주기 싫은 앱은 이 공간에 따로 저장하면 되겠다.
도난 감지 잠금 기능
핸드폰을 도난당했을 때 도난당했다고 감지하면 핸드폰이 즉시 잠금 상태가 되어 정보 유출을 막는 기능인데, 갑자기 핸드폰이 심하게 흔들리는 경우 도난당한 걸로 감지하는 것 같다.
정확히 어떤 경우에 도난당한 것으로 인식하는지는 직접 사용해봐야 알 것 같다.
사기 앱에 대한 실시간 보호 기능 강화
갤럭시 S24의 핵심 키워드 중 하나는 AI다. 삼성의 갤럭시 S24 언팩 행사에서 인터넷이 필요없는 온디바이스 AI를 통한 실시간 통역, 번역과 이미지 가공 등 AI를 활용한 여러 기능들을 내세웠다.
https://news.samsungdisplay.com/34157?type=main
안드로이드 15에 포함되는 기능은 아니고, 24년 말에 기기 내 AI를 활용해서 사기, 피싱에 연루될 수 있는 앱을 찾아내는 구글 플레이 프로텍트 기능이 추가될 예정이다.
프로텍트가 악성 앱으로 의심되는 앱을 발견하면 이 앱은 구글로 전송돼 추가 검토가 진행되고, 유해하다고 판단되면 유저들에게 경고하거나 앱을 비활성화한다.
이 모든 과정이 개인 정보를 수집하지 않고 이뤄진다고 하니 안드로이드 사용자들이 좀 더 안전하게 앱을 사용할 수 있는 환경이 조성된다고 이해하면 될 듯하다. 개인 정보를 수집하지 않는 것에 대한 추가 내용은 아래 링크를 확인하면 된다.
https://security.googleblog.com/2022/12/trust-in-transparency-private-compute.html
구글 지도에서 AR 컨텐츠 탐색
구글 지도에서 AR 컨텐츠에 접근해서 특정 장소에 대해 더 자세하게 알아볼 수 있게 된다.
자세한 내용은 아래 링크를 참고한다.
https://developers.googleblog.com/en/google-ar-at-io-2024-new-geospatial-ar-features-and-more/
이제 안드로이드 15의 변경사항을 확인한다.
패키지 중지 상태 변경사항
유저가 앱 아이콘을 길게 눌러 "강제 종료"를 누르는경우, 안드로이드가 의도한 건 유저가 앱을 설치하거나 공유 시트, 위젯, 라이브 배경화면 등으로 앱과 간접적인 상호작용해서 이 상태에서 앱을 삭제하기 전까지 앱 상태를 유지하는 것이었다.
그러나 15 이전까진 의도대로 작동하지 않았는지 15부턴 이 의도한 동작에 맞게 시스템 동작을 업데이트한다. 직접 or 간접적인 사용자 작업을 통해서만 앱이 중지된 상태에서 삭제해야 한다.
이 동작의 지원을 위해 시스템은 안드로이드 15에서 앱이 중지 상태가 되면 모든 대기 중인 인텐트(PendingIntent)들도 취소한다. 앱이 중지된 상태에서 삭제되면 ACTIVITY_BOOT_COMPLETED 브로드캐스트가 앱에 전달되어 대기 중인 인텐트를 재등록할 수 있다.
또한 ApplicationStartInfo.wasForceStopped()를 통해 앱이 중지됨 상태로 전환됐는지 확인할 수 있다.
모든 앱의 카메라, 미디어 동작 변경사항
안드로이드 15 이전엔 다른 앱이 오디오를 재생하는 동안 앱이 직접 or 오프로드 오디오 재생을 요청하고, 리소스 제한에 도달하면 앱이 새 AudioTrack을 열 수 없었다.
15부턴 앱이 직접 or 오프로드 재생을 요청하고 리소스 한도에 도달하면 시스템은 열려 있는 모든 AudioTrack 객체를 무효화해서 새 트랙 요청을 처리하지 못하게 변경된다. 즉 이전에 열렸던 직접 재생을 무효화하거나 오디오 트랙을 오프로드한다.
예를 들어 음악을 듣던 중 유튜브 앱으로 영상을 보려고 하면 재생 중이던 음악이 중단되거나 리소스가 해제되고 유튜브 앱의 영상이 재생된다. 15 이전에는 유튜브 영상이 재생되지 않던 이슈가 있어서 이런 변경사항이 추가된 듯하다.
위성 지원
안드로이드 15부터 ServiceState.isUsingNonTerrestrialNetwork()를 통해 기기가 위성에 연결된 시점을 감지하고, 전체 네트워크를 사용할 수 없는 이유를 파악할 수 있게 된다.
추가로 SMS, MMS, 미리 로드된 RCS 앱에서 메시지를 보내고 받을 때 위성 연결을 사용할 수 있게 된다.
앱이 콜드 / 웜 / 핫 상태 중 어떤 상태에서 시작했는지 확인
이제 ApplicationStartInfo API를 통해 앱이 콜드, 웜, 핫 상태 중 어느 상태에서 시작했는지 확인할 수 있게 된다.
15 이전에서 안드로이드 앱 시작이 세 상태 중 어느 상태에서 시작했는지 알기가 어려웠는데, 이 API를 통해 여러 정보를 확인하거나 Application 클래스 안에서 UI 관련 라이브러리의 비용이 많이 드는 인스턴스화를 제거하는 등 앱 시작 최적화가 가능해질 듯하다.
당장 눈에 띄는 안드로이드 15에서의 변경사항은 이 정도로 보인다.
추후 15가 정식 발매되고 개발적인 부분에서 변경사항이 생기면 이 글도 같이 업데이트한다.
'Android' 카테고리의 다른 글
[Android] hilt 사용 시 동일 객체의 중복 바인딩을 허용하는 방법 (0) | 2024.06.12 |
---|---|
[Android] 뷰모델 초기화 방법 정리 (0) | 2024.05.21 |
[Android] stateIn이란? (0) | 2024.05.17 |
[Android] 카카오 로그인 구현하기 (2024 ver) (0) | 2024.05.16 |
[Android] 앱 아키텍처 - UI 이벤트 (0) | 2024.05.14 |