구글(Google)이 차세대 모바일 운영체제(OS)인 '안드로이드 N'을 공개했다.
구글은 9일(현지시간) 안드로이드 개발자들을 대상으로 새로운 '안드로이드 N 개발자 프리뷰(Android N Developer
Preview)' 배포를 시작했다.

안드로이드 N 개발자 프리뷰는 안드로이드 앱 개발자들이 구글의 차기 모바일 OS에서 자신들이 만든 앱을 테스트 할 수 있도록 지원하기 위한
목적으로 배포되지만, 이를 통해 일반 사용자들도 향후 등장할 안드로이드 OS의 주요 특징과 핵심 기능 등을 파악할 수 있다. 구글이 개발자들에게
공개한 안드로이드 N의 새로 바뀐 점은 다음과 같다.
멀티 윈도우 지원(Multi-Windows Support)

먼저 그 동안 일부 안드로이드 제조사들이 UX(사용자 경험) 차원에서 제공하던 멀티윈도우 기능을 OS상에서 공식 지원한다. 안드로이드
N에서는 1개 이상의 앱을 동시에 보여줄 수 있는데, 스마트폰이나 태블릿 같은 핸드헬드 디바이스에서는 스크린 위치(수직/수평)에 따라 상하 또는
좌우로 화면을 분할하는 '스플릿 스크린 모드'를 통해 2개의 앱을 실행할 수 있다.
안드로이드 TV는 PIP 모드와 새로운 녹화 기능 지원

스마트폰보다 화면이 더 큰 안드로이드 TV에서도 멀티 윈도우 기능을 지원하는데 기존 TV에서 익숙한
PIP(Picture-in-Picture) 모드를 통해 다른 앱을 사용하는 동안에도 동영상을 작은 화면으로 계속 재생할 수 있다.
또한 안드로이드 N은 새로운 레코딩 API를 통해 안드로이드 TV 입력 서비스에서 콘텐츠를 녹화하고 재생할 수 있는 기능을 추가한다.
기존의 타임시프팅 API 위에 구축된 TV 입력 서비스는 어떤 채널 데이터를 기록할 것인지를 비롯해 기록 세션이 저장되는 방법, 녹화된 콘텐츠의
UI 관리 등을 제어할 수 있다.
알림 기능 향상(Notifications)

안드로이드 N에서는 상단 알림 기능(Notifications) 활용을 강화시켰다. 알림에 사용할 새로운 템플릿을 업데이트했으며 메시지
주제별로 그룹화해서 표시해주는 '번들 알림(Bundled notifications)' 기능도 지원한다. 또한 실시간으로 빠른 응답이 필요한
SMS나 텍스트 메시지는 알림 화면에서 바로 답장을 보낼 수 있는 인라인 답변 기능을 시스템에서 지원하며, 두 가지 새로운 API를 사용해 상단
알림의 커스텀 보기 구현도 가능하다.
빠른 설정 타일 API (Quick Setting Tile API)

빠른 설정은 알림 화면에서 직접 각종 옵션을 변경할 수 있는 인기있는 방법으로 안드로이드 N에서는 이 기능을 유용하고 편리하게 사용할 수
있도록 빠른 설정의 범위를 확대했다. 더 많은 빠른 설정 타일을 추가할 수 있도록 스와이핑을 통해 여러 페이지로 이동하는 기능을 넣었으며,
개발자들이 안드로이드 N에서 자신의 앱에 쓰이는 컨트롤 키를 빠른 설정 타일로 만들 수 있는 새로운 API도 추가되었다.
데이터 절약(Data Saver)

안드로이드 N에서는 많은 비용이 들어가는 이동통신 네트워크(Cellular) 데이터의 사용량을 줄여주는 '데이터 세이버' 기능이 들어간다.
새로운 시스템 서비스인 데이터 절약 모드는 앱이나 로밍, 결제, 선불 데이터팩 같은 상황에서 백그라운드 데이터 사용을 막거나 스트리밍 비트레이트
제한, 이미지 품질 감소, 캐싱 지연과 같은 수단을 통해 셀룰러 데이터 사용량을 줄일 수 있다. 그러나 일괄적으로 데이터 사용을 막는 것이
아니라 데이터 세이버가 켜져있는 상황이라도 특정 앱에서 백그라운드 데이터를 사용하도록 허용 목록에 추가하는 등 사용자 설정이 가능하다.
다중 언어 및 더 많은 언어 지원(Multi-locale support, more languages)
안드로이드 N에서는 일부 지역이나 사용자들에게 다중 언어 사용 사례를 지원하기 위해 설정에서 여러 언어를 선택할 수 있다. 새로운 API를
사용한 앱은 다중 언어 사용자를 위해 여러 언어로 검색된 결과를 보여주거나 사용자가 이미 알고 있는 언어로 만들어진 웹 페이지는 번역하지 않는
등 보다 정교한 사용자 경험을 제공할 수 있다.
또한 구글은 다중 언어 지원과 함께 안드로이드 N에서 사용할 수 있는 언어 숫자도 확장했다. 일반적으로 사용되는 영어, 스페인어, 불어,
아랍어에 대한 각각 25종 이상의 변종을 제공하며, 100개 이상의 새로운 언어에 대한 부분적인 지원도 추가된다.
Java를 대체하기 위한 오픈소스 API 지원

현재 자바(Java)를 인수한 오라클과 특허 분쟁을 벌이고 있는 구글은 안드로이드 N에서 기존 오라클 자바API 호환 라이브러리를
오픈JDK(OpenJDK)로 변경하는 작업을 진행한다. 이를 위해 앱 개발에 널리 사용되는 자바 라이브러리를 유니코드로 제공하는 오픈소스
ICU4J API를 안드로이드 프레임워크에 기본 탑재했다. 기존 자바API 대신 오픈JDK 라이브러리를 프레임워크에 넣으면서 앱 개발자는
com.java.icu 네임스페이스를 android.icu로 변경하는 손쉬운 마이그레이션이 가능하고 이미 ICU4J 번들로 앱을 개발한 사람은
안드로이드 프레임워크에서 제공하는 android.icu API로 바꾸면 APK 크기 절감 효과를 볼 수 있다.
번호 차단(Number-blocking)
안드로이드 N은 이제 플랫폼 차원에서 번호 차단 기능을 지원하고 서비스 제공자의 번호 차단 리스트를 유지하도록 프레임워크 API를
지원한다. 그 동안은 이동통신사나 제조사에서 만든 별도의 앱을 통해 수신자 확인이나 차단 기능을 제공했지만 안드로이드 N부터는 기본 SMS 앱과
전화 앱, 그리고 서비스 제공자들이 만든 앱에서 번호 차단 리스트를 읽거나 기록하는 것이 가능해진다.
플랫폼 차원에서 번호 차단 기능을 지원함으로써 스팸 전화 뿐만 아니라 스팸 문자도 차단 가능하고, 차단된 번호는 백업 및 복원 기능을 통해
장치를 백업하거나 여러 장치를 사용하는 경우에도 유지할 수 있다. 또한 여러 앱에서 같은 차단 번호 리스트를 사용할 수 있다.
직접 부팅(Direct boot)
안드로이드 N에서는 암호화된 기기가 의도치 않은 재부팅을 했을 경우에도 알람 시계나 SMS, 중요 알림 등을 사용자에게 제공할 수 있도록
다이렉트 부트 모드가 들어갔다. 안드로이드 시스템은 기본적으로 모든 시스템 데이터와 유저 데이터, 앱, 그리고 앱 데이터를 사용자의 인증이
필요한 '자격증명 암호화 스토리지(Credential enscrypted storage)'에 저장하지만, 안드로이드 N에서는 별도로 '장치
암호화 스토리지(Device encrypted storage)'를 추가해 중요한 알림 등을 제공하는 앱은 다이렉트 부트 모드에서 별도의 사용자
인증을 하지 않아도 부팅 과정 중 장치 암호화 인증을 통해 사용할 수 있다.

백그라운드 최적화(Background optimizations)
백그라운드 처리(Background processing)은 대부분의 앱에서 필수적인 부분으로 올바르게 사용하면 빠르고 정확한 사용자 경험을
제공할 수 있지만, 제대로 처리되지 못하면 백그라운드에서 불필요하게 메모리와 배터리를 잡아먹는 주범이 된다.
구글은 안드로이드 4.4 킷캣에서 프로젝트 스벨트(Svelte)를 통해 RAM 용량이 작은 저사양 기기에서도 안드로이드를 사용할 수 있는
환경을 조성했는데, 안드로이드 N에서는 프로젝트 스벨트가 애플리케이션을 백그라운드에서 실행하는 방식을 최적화시켜준다.
빠른 경로 앱 설치(Quick path to app install)
안드로이드 ART 모드에서 지원하는 JIT 컴파일러의 가장 확실한 장점 중 하나는 앱 설치와 시스템 업데이트 속도다. 안드로이드 6.0에서
최적화 및 설치에 몇 분이 필요한 용량이 큰 앱도 안드로이드 N에서는 몇 초 만에 설치할 수 있다. 또한 더 이상 최적화 단계가 없기 때문에
시스템 업데이트도 빨라진다.
범위 디렉토리 접근(Scoped Directory Access)

포토 앱 같은 특정 앱들은 사진(Pictures) 디렉토리와 같은 외부 저장장치의 특정 디렉토리에 액세스 할 수 있어야 한다. 외부
저장장치에 액세스하는 기존 방법은 이런 종류의 앱들이 쉽게 해당 디렉토리에 접근할 수 있도록 설계되지 않았지만 안드로이드 N은 일반적인 외부
스토리지 디렉토리에 액세스하는 새로운 단순화된 API를 제공한다.
이동 중에도 도즈 모드(배터리 절약 기능) 지원

안드로이드 6.0에서 처음 선보인 도즈(Doze) 모드는 디바이스가 유휴 상태에서 테이블 위에 올려놓는 등 장시간 사용 중이 아닐 때 앱의
CPU와 네트워크 활동을 지연시켜 배터리를 절약하는 시스템 모드다. 안드로이드 N에서는 도즈 모드 기능을 향상시켜 화면이 꺼진 후 짧은 시간에도
동작이 가능하도록 했다. 이를 통해 사용자가 장치를 주머니에 넣고 이동하는 사이에도 CPU와 네트워크 동기화를 늦춰 배터리를 절약할 수 있게
된다.
OpenGL ES 3.2 API

안드로이드 N은 프레임워크 인터페이스와 플랫폼에 OpenGL ES 3.2 지원을 추가했다. EXT_texture_sRGB_decode를
제외한 안드로이드 확장팩(AEP)으 모든 확장 기능과 HDR 및 지연 셰이딩을 위한 부동소수점 프레임버퍼, BaseVertex 드로우 콜로 더
나은 일괄처리(Batching) 및 스트리밍, WebGL 오버 헤드를 줄이기 위한 강력한 버퍼 액세스 제어 등의 기능을 지원한다.
매달 새로운 프리뷰 버전 배포, 3분기 공식 출시

한편, 개발자 페이지를 통해 구글이 공개한 안드로이드 N 출시 일정을 보면 오늘(3월)에 공개된 프리뷰 1(알파) 버전 외에 매달 새로운
프리뷰 버전을 공개하고 올해 3분기에 최종 버전을 출시할 예정이다.
구글은 오는 5월 18일에 전세계 개발자 회의 구글 I/O 2016을 개최하는데 이 자리에서 개발자 및 일반 사용자들을 대상으로 안드로이드
N의 주요 특징을 선보일 예정이다. 앉드로이드 N 출시 일정에 따르면 구글 I/O가 열릴 때 쯤에 개발자 프리뷰 3 버전이 배포될 것으로
보인다.