차기 안드로이드 O의 중요한 변화
지난 3월 22일, 안드로이드 O 개발자 미리보기(Android O Developer Preview)의 발표를 뜬금 없게 여겼던 이들이 있을 지도 모르겠다. 하지만 지난 해 안드로이드 N 개발자 미리보기를 공개한 지 1년 만에 내놓은 것이라는 사실에서, 아주 특별히 취급해야 할 사건은 아니라는 점을 미리 말해 둔다. 다만 나는 안드로이드 O 개발자 미리보기가 정식 버전이 된 이후에 안드로이드 스마트폰의 미래가 어떻게 달라질 것인지 좀더 기대를 가져볼 만한 몇 가지 요소에 집중할 것을 권하고 싶다.
개발자 미리보기는 하드웨어와 응용 프로그램 개발자들을 위한 한 뭉치의 코드가 새롭게 추가된 것을 미리 살펴보고 준비하라는 의미를 담은 초기 베타 프로그램이라 해도 정식 배포될 운영체제의 방향성을 읽는 중요한 단서를 담고 있을 때도 한다. 대부분은 그것이 기능으로 제한될 때도 있긴 하나 안드로이드 O는 조금 다른 면이 있다. 적어도 안드로이드에서 나타난 몇 가지 고질적인 문제에 대한 답을 담은 것으로 보이기 때문이다.
안드로이드 스마트폰을 쓰는 이용자들 또는 신형 안드로이드폰이 나올 때마다 제기되는 불만은 흥미롭게도 경쟁 관계에 있는 안드로이드 폰 사이에만 불거진 문제는 아니다. 항상 아이폰에 견주는 제품마저도 배터리 성능과 응용 프로그램의 벤치마크 테스트에서 대부분 뒤지는 결과가 나온다는 점이다. 아무리 빠른 AP, 저전력 기능을 갖춘 스마트폰이라 해도 안드로이드를 올린 스마트폰이 아이폰에 우위를 점하는 일은 드물다. 심지어 구글이 직접 튜닝했던 넥서스, 구글의 자체 브랜드인 픽셀 조차도 그렇다.
이런 문제의 원인은-전적으로 안드로이드만의 이유는 아니지만-안드로이드도 그 원인 제공원 중 하나로 올라 있다는 것을 두 번 말하면 입 아픈 이야기다. 하드웨어에서 배터리를 최적화해도 운영체제가 작동하는 동안 모든 요소에서 배터리를 소모하는 문제를 잡지 않는 이상 안드로이드가 배터리 수명 부문에서 경쟁사들을 이길 가능성은 희박해진다.
구글은 안드로이드 O 개발자 미리보기 문서에서 배터리와 관련한 작지만 의미있는 해결책을 제시했다. 암시적 브로드캐스트와 백그라운드 서비스 및 위치 업데이트에서 백그라운드로 수행할 수있는 작업에 제한을 두는 것이다.
암시적 브로드캐스트는 시스템에 어떤 변경이 있을 때 해당 정보를 앱이나 서비스에 알리는 것이다. 앱마다 담겨 있는 메니페스토(앱 정보를 담은 프로파일)에 반응해야 할 브로드캐스트 메시지를 지정하면 해당 알림이 앱에 전달될 때 실행된다. 예를 들어 LTE에서 무선 랜에 연결하거나 새로운 사진이 등록되면 시스템은 이 변화에 대한 알림을 앱에 보내 필요한 작업을 수행하기 위해 대기하게 만든다. 만약 이용자가 사진을 한 장 찍으면 구글 포토와 같은 클라우드에 자동으로 업데이트된 이후 암시적 브로드캐스트의 알림을 받은 드롭박스 같은 또 다른 앱들이 실행을 기다리는 것이다.
구글은 이러한 작업이 배터리 소모의 원인 중 하나라는 사실을 알았고, 이를 구글 I/O 2016에서 경고한 이후 네트워크 변경과 새 사진에 대한 알림 서비스 등 안드로이드 N 누가에서 종료했다. 이와 함께 모든 암시적 브로드캐스트는 차단할 예정으로 밝혔는데, 안드로이드 O에서 뽑은 칼을 쓸 것은 분명해지고 있다.(단, 암시적 브로드캐스트를 차단해도 명시적 브로드캐스트에 의해 관련 요소를 호출할 수 있다.)
암시적 브로드캐스트 제한과 더불어 앱 백그라운드 서비스 및 위치 확인 서비스도 제한된다. 안드로이드는 롤리팝(5.0)부터 작업 스케줄러를 통해 앱 실행을 처리해왔지만, 지금의 작업 스케줄러는 백그라운드 작업에 대해 느슨하게 작동한다. 앱이나 시스템 서비스가 어느 시점에서 실행을 준비한 채 백그라운드 작업에 남아 있는데, 장치가 유휴 상태에서도 그대로 남아서 배터리를 소모시킨다. 구글은 유휴 상태에서 음악처럼 계속 작업을 하고 있는 전방위 서비스가 아닌 백그라운드 서비스에 남아 배터리를 소모하는 요소들에 대해 제한을 둬 낭비를 없애기로 했다. 단, 이 기능은 안드로이드 O에 맞춰진 앱이나 서비스만 작동하고, 안드로이드 API 레벨 25 또는 그 이하는 영향을 받지 않는다. 백그라운드 앱과 서비스의 위치 탐색에 대한 제한도 마찬 가지 이유로 제한된다.
안드로이드 O의 새로운 특징을 계속 읽어 내려가다 보면 안드로이드 런타임 최적화를 발견할 수 있다. 안드로이드 5.0 롤리팝부터 종전 달빅VM(가상 머신)을 대체한 안드로이드 런타임(ART)은 자바 코드 실행기다. 설치 속도에 영향을 미치고 앱의 저장 공간을 좀더 차지하기는 해도 코드를 램에 올려 실시간으로 처리했던 달빅보다 앱의 실행 속도와 배터리 소모를 줄였다는 평가를 받아왔다. 안드로이드 O는 ART기의 성능을 더 보완했다. 새로운 자바 8 언어를 지원하는 한편 좀더 최적화를 통해 실행 속도를 높인 것이다. 구글은 일부 앱의 벤치마크에서 최대 2배까지 속도가 향상됐다고 말하는 데, 그 효과를 볼 수 있는 앱의 범위에 따라 평가가 달라질 듯하다.
그런데 처음 안드로이드 O의 변경점에 대한 목록을 훑어보면서 눈길을 끄는 건 따로 있었다. LDAC을 시스템에 포함한 부분에서다. LDAC은 소니에서 권리를 갖고 있는 고품질 무선 오디오 코덱. 플레이어와 블루투스 헤드폰에 모두 LDAC을 갖고 있으면 좀더 좋은 음질로 음악을 들을 수 있다. 다만 권리에 의해 소니 LDAC 무선 헤드폰을 갖고 있어도 LDAC 없는 안드로이드 폰에서는 블루투스 음질로 음악을 듣는 것이 전부였는데, 안드로이드 O를 올린 스마트폰 이용자는 소니 LDAC 헤드폰을 제대로 쓸 수 있다. 물론 스마트폰 제조사가 LDAC 코덱을 제거하지 않는다는 가정하에서 그렇다. LDAC 코덱은 현재 배포 중인 안드로이드 O 개발자 미리보기 1에 이미 포함되어 있고 개발자 옵션의 블루투스 오디오 코덱 부분에서 샘플링 비율과 비트, 재생 품질 등 세부 설정을 바꿀 수 있다. 퀄컴 aptX, aptX HD 같은 코덱들도 선택할 수 있다.
그 밖의 변화도 적지 않다. 제조사마다 다른 이용자 인터페이스에 쉽게 어울리는 적응형 아이콘 제작, 항목 별로 켜고 끌 수 있게 조절하는 알림, 동영상을 다른 앱 위에서 보는 PIP(Picture In Picture), 원격 디스플레이를 위한 다중 디스플레이 연결, 앱에서 요구하는 배송지나 연락처, e메일 등 필요 정보를 일일이 입력하지 않아도 되는 자동 채움(Autofill) API, 디스플레이에 맞춰 더 풍부한 색을 표시하는 광역 색상 프로파일 지원, 프로오디오를 위한 AAudio API, 웹뷰의 성능 개선 등 여러 면의 개선점을 담고 있다.
안드로이드 O는 이제 첫 개발자 미리보기를 공개했지만, 이 버전을 쓰는 것은 한계가 있다. 넥서스 5X, 6P, 픽셀, 픽셀 XL, 픽셀 C 이용자는 첫 미리보기를 설치할 수는 있다. 단지 안드로이드 베타에 가입하면 저절로 날아오던 것과 달리 이 첫 미리보기는 이용자가 해당 장치에 직접 업데이트를 해야 한다. 장치의 데이터를 날려야 하는 일이니 권장하지는 않는다. 그것이 두려우면 다음 버전을 기다리는 것이 좋다. 아마도 5월에 있을 구글 I/O 전에 좀더 안정된 두 번째 안드로이드 O 개발자 미리보기라면 그런 위험 없이 경험할 수 있지 않을까?
원문 | 고질병에 메스 댄 안드로이드 O