2016年3月9日(現地時刻)、GoogleはAndroid N Developer Previewを発表しました。
Android N Previewは開発途中ですが、マルチウィンドウのサポート、通知機能の強化、クイック設定のAPI追加
など着実な強化が図られています。公開された内容からダイジェストで解説します(随時更新します)。
- http://developer.android.com/intl/ja/preview/index.html
- http://developer.android.com/intl/ja/preview/api-overview.html
- http://developer.android.com/intl/ja/preview/setup-sdk.html#docs-dl
マルチウィンドウのサポート
Android Nではプラットフォームの拡大に伴い要求が高まっていたマルチウィンドウ機能を搭載しました。画面分割モードで2つのアプリを開けます。サイド・バイ・サイドやピクチャインピクチャ、コンテンツのドラッグアンドドロップなどアプリの操作性に影響する変更です。
Android N Previewの目的
Previewでは機能強化に伴った(特に省電力モードや多言語対応、開発環境変更などで)、振る舞いの違いを先行して確認できます。
APKの署名方式が更新されたほか、JIT/AOTコンパイラも改良されています。Nのリリースに備えてPreviewで新しいAPI、プラットフォームに触れていきましょう。
また今回よりプラットフォーム(SDK)はOpenJDK 8ベースに移行しました。これに伴い、アプリ側も対応が必要です(ArrayList private field array is removed.など詳細はこちら)。
最適化、設定画面のタイルAPI、Android for Work(ビジネス機能の追加)の更新情報は続きから
通知機能の強化
通知の変更は多岐にわたります。見た目の改善はもちろんノーティフィケーションのグループ化(Bundled Notifications)、インラインでの返信(アプリを開かないで応答が可能に)、カスタムビュー対応の強化です。
クイック設定を追加できるタイルAPI
その他の機能
- データセーバー:通信量を抑えるためにビットレート制限、バックグラウンドアプリの通信制限、ストリーミングデータ量を減少させるなどConnectivityManagerを強化しています
- 言語サポートの追加:100以上の強化をはかり、より多くの言語に最適化
- テレビの録画機能:新APIを追加。Android TV input servicesを利用します。Android TVからの機能取り込みといえるでしょう。Androidが個別に細分化することを防ぐ一貫と考えられます。
- 迷惑電話のブロック、着信番号表示への対応
日本の携帯電話では一般的だった機能がAndroidにも取り込まれています。多くのメーカーでは個別開発からAPIに準拠した形で新規端末の開発が進められることになり、アプリからもアクセス可能なため、アプリ開発者にとっては朗報です。
その他の機能その2
- ダイレクトブート:Android Nのダイレクトブート機能を使うと目覚まし時計や、SMSアプリなど重要度の高いメッセージをトリガーにデバイスロックを解除しなくても、画面表示が可能です(ブートという響きから電源投入が可能とおもうかもしれませんが、電源は投入されている必要があります。あくまでユーザーがデバイスロックを解除しない場合に、アプリをダイレクトブートする方法です)
- セキュリティの強化:キーストア(鍵の証明書)、HTTPS,TLSの接続カスタマイズ、信頼できる認証局の追加
- APK署名方式の更新:APK signature scheme v2を導入しました。APKの検証速度が大幅に向上します(現時点では下位互換の維持のため、v1,v2どちらも署名が必要ですが、v2対応したNであれば高速にインストールできます)。
- Scoped Directory Access:拡張ストレージ(EXTERNAL_STORAGE)へのアクセス方法が見直されました。よりシンプルにメディアを操作できます
- Android for Work、ビジネス向け機能:Work profile(プロフィールは、管理者がアプリ利用制限・管理できる機能)のセキュリティ強化、VPNの常時有効化
-
JIT/AOTコンパイルのプロファイラ強化:アプリのRAM容量節約、パフォーマンス向上、システムアップデートの高速化に寄与します
- OpenGL™ES 3.2 API対応
-
省電力の強化:Dozeモードが外出先(ポケットの中など特定の状況を検出)でも有効化、Project Svelteではバックグラウンド動作の最適化をさらに推し進めます(JobSchedulerなど既存機能を強化)、特に低メモリデバイスでのパフォーマンス維持を目的に一部機能(暗黙的なブロードキャストインテント、CONNECTIVITY_ACTION、ACTION_NEW_PICTURE、ACTION_NEW_VIDEOの3つ)を廃止する予定です。