본문 바로가기

News

Android N 프리뷰 버전 소개

안드로이드 신규 버전, N이 나올 준비 중

Android 6.0 M이 나온지도 얼마 안되는 것 같은데, 벌써 N이 출시 준비 중입니다. 현재는 어떤 컨셉으로 나올지만 밝혀졌고 한창 개발 중이라고 하네요.


http://developer.android.com/intl/ko/preview/api-overview.html


새로운 기능이 추가되기도 하지만, 이전 버전에서 동작하던 기능이 변경 된 것도 있기 때문에 기존 앱 개발자들도 미리 준비를 해두는 것이 현명할 것 같습니다.


새로운 기능:


자바 8 지원.

http://developer.android.com/intl/ko/preview/setup-sdk.html#docs-dl

안드로이드 스튜디오 2.1에서만 가능한데, Java 8에서는 꽤 많은 변화가 있었습니다. 제가 보기에는 제일 큰 변경사항이네요.


멀티 윈도우 지원. 이전에는 삼성 일부 단말에서 고유기능으로 출시되었던 것인데, 이제는 동시에 여러 앱을 한 화면에 띄울 수 있게 되었습니다. 벌써부터 개발자들 죽는소리가 들리네요. 

- 이제는 화면 크기가 화면 전체가 아닌 절반 정도가 될 수 있어서, 이에 따른 디자인 고려가 필요합니다.

- 다른 앱과 동시에 동작하는 기능, 예를 들면 드래그 앤 드롭 기능이 들어갈 수 있기 때문에 이에 대한 기술적 고려가 필요합니다.



노티피케이션(알림) 기능 향상. 이전에 제공하던 텍스트, 텍스트 + 이미지 등의 양식 외에도 추가적인 양식이 지원됩니다. 그리고 여러 메시지를 하나로 묶어서 보여주는 기능, 곧바로 응답할 수 있는 기능, 개발자가 완전히 새로운 뷰를 넣는 기능 등이 추가됩니다.


상단 설정화면에 개발자가 원하는 기능 넣기 가능. 이 부분은 순정이 아닌 안드로이드에도 적용 될지는 좀 미지수 입니다만, 일단 순정 Android N에서는 상단 설정 화면(손을 위에서 아래로 드래그 하면 나오는, Wifi, 비행기 모드를 설정할 수 있는 그 메뉴)에 원하는 기능을 추가할 수 있다고 합니다. 하지만 개발자가 만든 앱 실행기능 같은 건 넣으면 안된다고 하네요.


데이터 절약 모드. 이 기능을 켜면 온라인 동영상 재생 프레임, 이미지 퀄리티 등을 떨어뜨려 데이터를 아껴준다고 합니다. 온라인 이미지 뷰어 개발자들은 "왜 제 이미지만 저해상도로 보이나요" 라는 항의를 받을수도 있겠네요. 


언어를 여러 개 동시에 설정 가능. 설정 - 언어에서 언어를 변경하면 메뉴가 해당 언어로 나왔었는데, 이제는 이것을 여러 개 동시에 지정할 수 있다고 합니다. 다국어 사용자를 위한 것이라는데요, 언어 설정 별로 다른 화면을 보여주는 식으로 구현했던 i18N 대응을 어떻게 해야할지 고민이 필요하겠네요. 이 외에도, 기존에 지원하지 않던 다른 언어도 추가된다고 합니다.


ICU4J API 추가. 이것은 유니코드와 관련된 세계화 관련 API입니다. 국가별 코드 페이지, 포맷팅, 시간계산 법 등과 관련된 처리를 도와줄 것으로 기대됩니다.


안드로이드 TV 기록 기능. 안드로이드 TV를 저장해 놓았다가 되돌려보는 기능이 가능해진다고 합니다.


접근성 향상. 폰트 크기, 화면 출력 크기 등을 설정할 수 있게 되고 (디자이너가 죽어난다!!) 음성대화 기능이 들어갑니다. 얼굴 추적, 눈동자 추적, 특정 점 추적 등의 기능도 들어간다고 합니다.


수신번호 차단 기능. 특정 번호에서 오는 문자를 차단 해 줄 수 있습니다.


전화 선택차단 기능. 오는 전화를 막거나, 통화기록에 남지 않게 하거나, 전화가 왔다는 알림을 남기지 않거나 하는 등의 기능이 가능하다고 합니다. 상세한 내용은 OS가 출시된 다음 확인해 보아야겠네요. 


직접 부팅. Direct boot 기능은 부팅 속도를 빠르게 해주고, 예기치 않은 재부팅 시에 앱이 이에 대처할 수 있는 기회를 제공한다고 합니다. 이 내용은... 제가 영어는 읽겠는데 내용이 이해가 잘 안가네요. 데이터를 특정 방식으로 암호화 하여 저장하면, 폰이 예기치 않은 재부팅이 되더라도, 스크린 락을 풀기 전에 해당 데이터에 접근할 수 있게 된다고 합니다.


더 강력한 키 생성. 앱 사이닝을 위해서는 키스토어가 필요한데, 이제는 하드웨어 기반의 더 강력한 키를 쓸 수 있다고 합니다.


네트워크 보안 설정. 코드 수정이 필요없이 HTTPS, TLS와 관련된 동작을 안전하게 변경할 수 있게 됩니다.


기본 Trusted Certificate Authority. 이제는 이용자가 CA를 추가할 수 없습니다. 그런 동작을 하고 싶으면, 네트워크 보안설정에서 이와 관련된 부분을 설정해야 합니다.


APK 시그너처 스킴 V2. APK 사이닝 과정이 변경되어, 더 빠르게 사이닝하면서도 앱의 불법적인 변경을 더 강력하게 탐지할 수 있게 되었습니다.


특정 디렉토리 액세스. 안드로이드 N부터는 여러 외장 저장장치가 있을 경우, 그 중 하나를 선택할 수 있습니다. 또한 특정 폴더에만 접근할 수 있는 권한을 얻을 수도 있습니다. 


JIT / AOT 동시 동작을 통한 성능 향상. ART가 코드 프로파일링을 하고, 이에 맞춰 Just In Time 컴파일러가 동작하여 안드로이드 앱이 실행 되면 될수록 점점 실행속도가 빨라집니다.


인스톨 속도 향상. ART의 JIT 성능이 올라갔기 때문에, 앱 설치 속도가 빨라졌습니다.


Doze 기능 향상. 이 기능은 6.0에서 처음 소개되었고, 지속적으로 향상되고 있습니다.


프로젝트 Svelte: 백그라운드 최적화. 백그라운드에서 앱이 동작할 때 최적화를 해줍니다.


OpenGL ES 3.2 지원: 안드로이드 N 부터는 Open GL 3.2를 지원합니다. 부동소수점 HDR, WebGL의 오버헤드를 줄이기 위한 견고한 버퍼 컨트롤 기능 등이 추가되었습니다.