Android
안드로이드 M(마시멜로) 특징
2015년 11월 30일
원문에서 보기 ↗
안녕하세요 NHN엔터테인먼트 정주영입니다.
새로운 안드로이드 버전 마시멜로의 특징에 대해 알아보겠습니다.
앱 권한 설정
- 권한 목록 기존에는 앱 접근 권한을 세세하게 나누었던 터라 권한을 이해하기 어렵고 복잡하였습니다. 마시멜로 버전에서는 위치, 카메라, 마이크, 연락처, 전화, SMS, 일정, 센서 8가지 권한으로 정리하였습니다.

- 권한 승인 이전 버전들에서는 권한에 대한 승인을 이용자가 선택하는 게 아니라 설치와 동시에 모든 권한을 넘겨주는 데 동의하는 방식이었습니다. 예를 들어 지도 앱을 내려받으면 무조건 위치정보에 접근하도록 하는 식이었다. 마시멜로버전에서는 사용자가 어떤 앱을 선택하여 연락처, 사진첩, 와이파이 신호 등에 접근할 수 있는 권한을 각각 설정할 수 있습니다. 또한 권한별로 설정 할 수 있도록 기능도 추가 되었습니다.

배터리 최적화
- 도즈(DOZE)모드 디바이스의 배터리 사용량을 최적화 하기 위해 새롭게 추가된 기능입니다. 도즈모드에 진입하게 되면 필요 없는 프로세스를 종료해 전원과 메모리에 부담을 덜어줍니다. 하지만 모든 앱이 종료 되지는 않습니다. 폰을 사용함에 있어서 필요한 요소인 전화, 문자, 알람 등 최소한의 기능만을 사용할 수 있습니다. 또한 예외 앱들을 지정할수 있습니다.

- 도즈모드 조건(모두 만족시켜야 함)
- 충전중이 아님
- 스크린이 꺼져있음
- 디바이스가 일정 시간 움직임이 없음의 경우
- 도즈모드 주위 사항 도즈모드가 진입하면 네트워크 작업 불가능, 백그라운드 작업 불가(JobScheduler, AlarmManager 등등) ,WakeLock 무시, WiFi Scan 멈춤 등이 됩니다. 도즈모드에 있을 때 앱들이 정상작동하는지, 도즈모드에서 빠져 나올때 정상작동 하는지 테스트 해봐야 합니다.특히 가장 중요한것은 네트워크 작업 입니다. 기본적으로 네트워크 연결이 끊어지므로, GCM(추후 GCM을 통해 잠깐 앱을 깨울 수 있는 정도만 허용)을 제외한 서드파티 PUSH 서비스의 사용이 불가능 해집니다. 서드파티 PUSH 시스템을 사용하고 있다면 Google GCM(Google Cloud Message)를 사용하여 Doze 상태에서도 푸쉬가 잘 올 수 있도록 해주어야 합니다.
- 도즈모드 테스트 새롭게 추가된 adb 명령어를 통해 Doze 모드를 테스트 할 수 있습니다.
- 다음 명령어를 통해 배터리가 충전되지 않도록 변경 합니다. $ adb shell dumpsys battery unplug
- 디바이스 스크린을 끕니다.
- 다음 명령어를 반복 실행 하여, 디바이스 상태가 idle이 되도록 합니다. $ adb shell dumpsys deviceidle step 화면을 켜거나, 디바이스를 크게 움직이면 Doze 모드에서 빠져나옵니다.
- 다음 명령어를 통해 배터리 충전 상태를 원래되로 되돌릴 수 있습니다. $ adb shell dumpsys battery reset
- 다음 명령을 통해, 현재 디바이스의 상태를 확인 할 수 있습니다. $ adb shell dumpsys deviceidle
- App Standby모드 안드로이드 플랫폼이 판단할 때 사용자가 더 이상 사용하지 않는 앱은 유휴 상태 앱으로 지정 될 수 있습니다. 디바이스가 충전 중이 아닌 경우, 유휴 상태인 것으로 간주된 앱은 네트워크 액세스를 할 수 없고, 동기화 작업이 일시 중단됩니다. 디바이스가 충전 중일 때는 네트워크 액세스가 허용되며 보류 중이었던 작업이 실행됩니다. 디바이스가 오랜 시간 동안 유휴 상태인 경우, 유휴 앱은 하루에 한 번 정도 네트워크 액세스가 허용됩니다. 만일 앱이 사용자 상호작용 없이 백그라운드 상에서만 동작하는 경우, 유휴 상태 앱으로 지정될 수 있습니다. 이런 경우에도 앱의 주요 동작에 문제가 없는지 테스트 할 필요가 있습니다.
- App Standby모드 조건 일정 기간 아래 이벤트 중 어느 한 가지도 발생하지 않는 앱은 유휴 상태 앱으로 지정될 수 있습니다. 사용자가 명시적으로 앱을 시작합니다. 엑티비티 혹은 서비스의 형태로 해당 앱이 포그라운드 프로세스에서 실행 됩니다. 혹은 다른 포그라운드 프로세스에서 동작 중인 앱이 해당 앱의 서비스나 다른 앱 구성 요소를 사용하고 있습니다. 앱이 알림을 생성하였고, 사용자가 해당 알림을 잠금 화면에서 보거나 알림 트레이에서 확인합니다. 설정 메뉴에서 사용자가 명시적으로 앱이 전원 최적화 옵션에서 제외 되도록 요청했습니다.
- App Standby모드 테스트 새롭게 추가된 다음 adb 명령어를 통해 특정 앱을 StandBy 모드로 변경할 수 있습니다. $ adb shell am broadcast -a android.os.action.DISCHARGING $ adb shell am set-inactive true 또한, 다음 명령어를 통해 현재 앱의 StandBy 모드 여부를 확인 할 수 있습니다. $ adb shell am get-inactive 마지막으로, 다음 adb 명령어를 통해 특정 앱을 다시 정상 모드로 변경할 수 있습니다. $ adb shell am set-inactive false
커스텀 탭 기능 추가
‘크롬 커스텀탭’이라는 기술도 더해진다. 이를 이용하면 안드로이드의 크롬 브라우저를 웹에서 자유롭게 불러다 쓸 수 있습니다. 앱에서 링크 클릭시 부드러운 웹 전환이 이루어질 것으로 보입니다. 스킨을 변경할 수도 있으며 암호 저장, 자동 프로필, 웹사이트 로그인과 같은 크롬 브라우저 기능도 사용할 수 있습니다.
안드로이드 페이
‘안드로이드 페이’도 나왔습니다.. 구글은 그간 구글 월렛을 통한 결제 시스템을 운영해 왔고 안드로이드 페이는 이를 더 보강하고 운영체제에 통합한 것입니다. NFC와 가상 카드 에뮬레이터가 포함됩니다. 구글은 안드로이드 페이를 위해 비자, 마스터, 아메리칸익스프레스, 디스커버 등 카드 회사들과 제휴를 맺었습니다. 특히 신용카드의 정보를 실제 번호가 아니라 가상 번호로 운영하기 때문에 신용카드 정보의 유출을 막을 수 있다. 프리뷰3에서는 선보이지 않았습니다.
지문인식 API 추가
지문 인식도 공식적으로 들어간다. 기존에는 삼성이나 팬택 등 제조사가 직접 지문 관련 보안 시스템을 꾸려야 했는데 이제는 안드로이드의 모듈을 이용하면 된다. 이 지문 인식은 안드로이드 페이의 인증 수단으로 쓸 수도 있고, 플레이스토어 내 앱과 콘텐츠 결제에도 비밀번호 대신 이용하도록 열린다.
앱 서랍
앱 서랍('앱스' 버튼을 누르면 나오는 앱 모음 환경)의 사용자 환경도 변경됩니다. 앱 진열 방법이 좌/우 스크롤에서 상/하 스크롤로 변경되며, 앱 서랍 상단에 자주 실행하는 앱 4개가 표시됩니다.

위의 특징들처럼 전반적인 UI는 앱 서랍을 제외하고 롤리팝(5.0)과 크게 다르지 않습니다. 변화보다는 운영체제 환경 자제를 가다듬는 데 초점이 맞춰져있습니다. 구글은 안드로이드 M(마시멜로)를 하반기에 출시할 예정입니다.
참고 자료
프리뷰 영상 https://www.youtube.com/watch?v=Tq3u_utuhPE
Google Developers Korea http://googledevkr.blogspot.kr/2015_08_01_archive.//image.toast.com
Google Developer https://developer.android.com/intl/ko/preview/overview.//image.toast.com