안녕하세요, 종이상자(하늘)입니다.
최근 안드로이드 N 개발자 미리보기의 Beta 2버전(=DP3)이 출시되어 저도 판올림해 보았습니다.
이번 글에서는 바뀐 점, 잠수함 패치 등의 내용을 여러분께 안내하려 합니다.
1. 구글 공식 안드로이드 N Beta 2 개정사항

DP3에서는 Nexus 5X, Nexus 6P, Pixel C, Nexus 6, Nexus Player, Android One 계열 기기 및 Sony Xperia Z3이 지원된다고 합니다.
오히려 Sony Xperia Z5는 이 미리보기가 제공되지 않네요.

새 기능이 추가되긴 했지만 일부기기 한정인 것들이 있습니다.
먼저 개발자들을 위해 안드로이드에 VR모드라는 것을 추가해 개발시 VR를 쉽게 지원할 수 있도록 했다고 합니다.
2번째로는 Nexus 6P한정 기능으로 '지속된 퍼포먼스 모드'라고 불리는 기능입니다. 이 API를 통해 앱 개발자들이 오래 구동되는 앱의 퍼포먼스 지속가능성을 알아볼 수 있는 모양입니다.(영어실력이 좋지 못해 죄송합니다. 왠지 영 아니네요.)

Multiprocess Webview기능은 일단 개발자 미리보기 2버전에도 개발자 옵션에 속해있었지만 이번에는 좀 더 최적화하였다고 명시되어 있네요.
해당 기능을 개발자 옵션에서 체크해주면 각각의 Webview를 사용하는 앱들이 독립된 프로세스에서, 샌드박스화 되어 돌아간다고 합니다.

키보드 바로가기(그러니까 단축키 기능) 보여주기 기능이 추가되어 화면에서 Super키(Windows 키 또는 Command 키, Meta 키)와 +키,/키를 동시에 눌러주면 현재 화면에서 쓸 수 있는 모든 단축키를(앱 전용 단축키의 경우엔 앱 개발자가 넣어줄 경우) 보여준다고 합니다. 앞으로 한글 2014가 업데이트만 해준다면 문자표 단축키가 뭐였는지 일일히 인터넷에서 찾아볼 필요 없겠네요.
FrameMetrics API로는 UI렌더링 속도를 알아내고 개선할 수 있도록 해주는 API인 것 같습니다.

Launcher Shortcut API의 지원이 다음버전부터 중단된다고 합니다. 점점 API관련 지원 중단으로 인해 앱 개발 자유도가 떨어지는 것 같아 슬픕니다. 2016년 11월 11일 확인결과 해당 API는 7.1에 적용하기로 미뤄졌었던 모양입니다. Android N MR1(7.1.0) Beta와 Pixel에서 사용할 수 있습니다.
Webview에 있어서는 자바스크립트가 페이지를 로드하기 전에 먼저 로드하는 것으로 변경되었다고 합니다.
지금까지는 자바스크립트를 '페이지 로드 후'에 로드했었다고 하네요.

안드로이드 N을 타켓으로 하는 앱부터 웹사이트가 위치정보를 요구할 경우 HTTPS환경이 아니면 불허한다고 합니다.
DP3부터, 데이터 세이버로 인해 앱이 차단당할 경우 해당 앱이 화이트 리스트에 추가해 달라고 요구하는 게 가능하다고 합니다.(인텐트 기능 이용)

인증되지 않은 유저가 번호 차단을 하려고 할 경우 이제 개발자가 명확한 이유를 알 수 있도록 SecurityException이라고 메시지를 띄운다고 합니다.
이제 퀵세팅 API가 개선되어 액티비티의 Metadata에 따라 시스템이 결정할 수 있게 되었습니다.

고쳐진 오류로는
- 블루투스로 오디오 재생을 할 경우 1곡 재생후에 멈추는 오류가 고쳐졌습니다.
- Pixel C의 크래시 오류가 고쳐졌습니다.
- USB Type C로 맥북을 Pixel C와 연결했을 때 (Pixel C가)재시작하는 현상을 해결했습니다.
- 시계 및 토스트 메시지 알림 오류를 고쳤습니다.
- 하루마다 달력이 상쇄됩니다.(더 나은 번역 좀 알려주세요 ㅠ)
- TelephonyManager.getAllCellInfo가 잘못된 정보를 보내는 오류가 고쳐졌습니다.
- Nexus 6P에서 블루투스가 계속 연결되지 않는 문제를 수정했습니다.
가 있다네요.

알려진 문제로는
- 음량이 너무 크면 TTS가 작동하지 않습니다.
- Android Work프로필을 설정하면 접근성기능에 오작동이 발생합니다.(더 나은 번역 제안부탁드려요.)
- 카메라 앱이 불안정하게 동작하며, 멀티윈도우에서 실행시 크래시됩니다.
- 파노라마 모드에서 셔터 버튼을 누르면 크래시가 일어납니다.
- 오디오 재생기의 문제가 앱의 정상동작을 방해합니다.

- BLE 기능이 오작동 할 수 있습니다.
- 화면을 껐을 때 Wi-Fi 연결이 끊길 수도 있습니다.
- 블루투스의 주요 프로트콜 중 하나인 RFCOMM이 불안정하게 동작합니다.
- 활성화된 네트워크 상태를 나타내는 함수가 몇몇 백그라운드 제한상태에서 올바르지 못한 값을 보여줍니다.
- Google Now 런처에서 화면 끄기와 켜기를 거칠 경우 모든 앱 화면이 반응하지 않을 것입니다. 이는 홈화면으로 돌아가 다시 모든 앱 화면을 호출하면 해결됩니다.
- 구동중이었던 OS가 Android N Preview의 DP1, DP2이거나 Android 6.0이었던 경우 키보드의 기존 설정은 보존되지 않습니다.

- Google 힌디어 입력기가 불안정할 수 있습니다.
- 비밀번호 란에 입력할 때, 입력언어에서 사용자는 러시아어를 선택할 수 있지만 실제로는 영어가 입력됩니다. 이는 사용자가 러시아어로 비밀번호를 입력하지 않도록 방지하는 역할을 합니다.
 - RTL을 사용하는 언어로 기본언어를 설정할 경우, 재부팅 후 시스템이 갑자기 LTR로 바뀔 수 있습니다.(더 나은 번역 부탁드려요.)
 - Nexus 9와 Nexus Player에서 HD비디오를 재생할 때의 문제 등 여러문제가 발생할 수 있습니다.
 - 멀티윈도우 모드에서 기기의 방향을 바꿀 경우 기기가 얼어버릴 수 있습니다.(=멈출 수 있습니다.)
 - 여러 앱들이 멀티윈도우 모드에서 오류를 일으킵니다:
 * 설정 > 디스플레이 > 화면 밝기 화면을 멀티윈도우 모드에서 사용하면 시스템 UI가 중지될 수 있습니다.

 * 멀티윈도우 모드에서 카메라 앱을 실행하면 충돌이 일어납니다.
 * 유튜브 앱을 멀티윈도우 모드에서 실행시킬 경우 충돌이 일어날 수 있습니다. 해결하려면 저장소 > 앱 > YouTube에서 데이터 지우기 버튼을 누르세요.
 - 구글 플레이 서비스를 통해 Google Cast(= Chrome Cast, Chrome Cast Audio 등)를 사용하는 앱이 ASCII 인코딩을 사용하지 않는 언어를 사용하는 기기에서 불안정할 수 있습니다.
 - "기기 정책 상황"이 고정된 상태에서 기기를 잠금해제할 경우 Device Policy 앱이 중지될 수 있습니다.
 - 파일 기반 암호화가 적용된 Work 프로필을 설정한 후 Work를 종료할 경우 사용자는 반드시 기본 프로필의 화면 잠금을 해제해야 Work 앱을 열 수 있습니다.
 - 패턴 잠금을 제거하고 Work 앱이나 개인 앱을 멀티윈도우에서 열면 기기가 재부팅 됩니다.
 - DISALLOW_VPN_CONFIG를 설정하면 기기는 기기 정책 클라이언트에 의해 항상 VPN 사용을 설정한 것으로 인식합니다.

 - 트래픽이 항상 VPN 사용 모드에서 고정되지 않을 것입니다.
 - 앱이 내부 저장소에서 이동식 저장소로 파일을 이동시킬 때 불안정할 수 있습니다.
- 여러 해상도를 여러 APK파일을 통해 지원하는 애플리케이션에서 Google Play 서비스 앱이 해상도를 잘못 알려줌에 따라 앱을 잘못 내려받을 수 있습니다.
 - Vulkan 지원과 관련한 Google Play 오류가 있지만 현재 Google Play Developer Console은 Vulkan API를 사용한 앱의 업로드를 막고 있으므로 문제는 없을 것이라 합니다.

 - MessagingStyle이 null(자기 자신) 수신자로부터 받는 알림을 보여주지 못한다고 합니다.
 - JDWP 디버깅을 사용하면서 adb를 사용할 경우 종종 중지될 수 있다고 합니다.
가 있다고 하네요.
2. 실사용하면서 찾아낸 변경점
기본적으로 부팅속도와 앱 구동&액티비티 전환 속도가 증가되었습니다.
2.1 '모두 지우기' 버튼의 위치변화

기존의 왼쪽에서 오른쪽으로 바뀌었습니다.
2.2 갈무리시 나오는 화면저장 알림의 아이콘 변경

기존까지 Holo UI에 맞춰쳐있던 스크린샷 저장 아이콘이 변경되었습니다.
2.3 데모모드의 부활과 위치 Dogfood 도구(Under Construction;미완성)

기존 Android 6.0에서는 시스템 UI 튜너에 있다가 Android N DP2에서는 사라진 '데모모드'가 DP3에선 개발자 모드로 돌아왔습니다.(이는 데모모드가 충분히 안정화 단계에 접어들었음을 의미합니다.)
또 위치 Dogfood 도구라는 항목이 추가되었지만 작동하지 않고 누르면 설정앱이 중지됩니다.
2.4 5 1일자 보안패치

안드로이드 보안패치가 2016년 5월 1일로 바뀌었고 빌드번호는 NPD35K입니다.
커널을 보니 5월 12일날 다시 빌드되었네요. 버전은 DP2와 동일한 3.10.73입니다.
2.5 Android OS 및 Android 시스템의 아이콘 변경

Android 시스템과 Android OS 부분의 아이콘이 일부 항목에서 바뀌었습니다. 하지만 아직 배터리 항목 등 Holo UI를 여전히 차용하는 곳도 있더군요.
2.6 앱 호환성 향상

DP2에서는 Firefox의 메뉴 UI가 즐겨찾기 버튼 바로 앞에서 잘려 뒤로가기, 앞으로, 즐겨찾기에 추가(아이콘은 안 보이지만 끝 부분을 눌러주면 추가되더군요.)는 가능해도 새로고침은 안되는 오류가 있었는데 해결되었습니다.
2.7 패키지 설치 프로그램의 UI 변경

앱의 설치속도도 조금 빨라졌거니와, 오랜 기간 변경없던 패키지 설치프로그램의 UI가 변했습니다.

이 외에도 '설정>디스플레이>디스플레이 크기에서 크기를 바꿀 때 네비게이션 바의 뒤로가기, 홈, 멀티태스킹 키의 크기가 제멋대로 되는 현상 수정(다만 크기를 바꾼 후 상태표시줄의 퀵타일을 누르는 것은 여전히 안 먹더군요.), 발열증상 완화(안드로이드 6.0 쓰는 수준으로 돌아옴.), 렉 증상 완화 등 실사가 가능한 수준으로  바뀌었습니다.
이전버전인 DP2에서는 전화 받기도 지연이 생겨서 부모님께 혼날 정도였으니 말 다했죠.
가뜩이나 카메라 쪽 발열이 심한데 거의 항시 발열상태라 이번 업데이트를 기대하고 있었는데 다행입니다.
아직 DP2를 사용중이신 분들이라면 빨리 올려보세요. 확실히 좋아졌습니다.
※위의 구글 공식문서의 오역 지적 부탁드립니다.