Android Nのドキュメントに目を通してこの先に待ち受ける嵐を想像する話(その2)
なんだか行けそうな気がする。
Android N for Developers
Multi-window support
- http://developer.android.com/preview/features/multi-window.html
- Android Nでは上下/左右で画面を分割でき複数のアプリを表示できる
- TV端末ではPIP(picture-in-picture)モードがあり、アプリを別のアプリ上でワイプ表示ができる
- マルチウィンドウになってもActivityのライフサイクルは変わらないが、ユーザーに対してVisibleな状態でもonPause()が呼ばれることがあるので、動画再生アプリなどでは動画の停止をonStop()でしたほうがいいとのこと
- ManifestにマルチウィンドウとPIPモードの対応/非対応を記述することができる
- マルチウィンドウ向けに、Activityに新しいメソッドが追加されている
Notification enhancement
- http://developer.android.com/preview/features/notification-updates.html
- Direct ReplyはNotification上でアクションが可能なボタンを提供している
- Notification上でのアクションの追加はRemoteInputオブジェクトで指定する
- Bundled Notificationsでは似ようなNotificationをまとめて表示する機能を提供している
- Android NからはNotificationに対してカスタムのViewをDecoratedCustomViewStyle()やDecoratedMediaCustomViewStyle()を使って使用することができる
Profile-guided JIT/AOT compilation
- Profile-guided compilationではアプリの実使用環境を考慮し、よく使うメソッドはARTがPrecompileをおこない、それ以外は実際に使われるまでコンパイルしない
Quick path to app install
- ARTのJIT Compilerのおかげでアプリのインストールやシステムのアップデートが短時間で済む
Doze on the go...
- Android 6.0から導入されたDoze ModeはAndroid Nで更に消費電力低減を図る
- 画面が一定時間OFFで充電中ではないケース(例えばポケットに入れている時など)ではCPU使用量やネットワーク使用に制限を行う
Project Svelte : Background optimisations
- http://developer.android.com/intl/ja/preview/features/background-optimization.html
- CONNECTIVITY_ACTION、ACTION_NEW_PICTURE、ACTION_NEW_VIDEOのBroadcastの廃止
Data Saver
- Data Saver Modeではアプリごとにセルラーのデータ通信を制限することができる
- この設定がONの場合は、バックグラウンドでのデータ通信を制限し、フォアグラウンドのアプリに対しても通知をしてストリーミングのビットレートを低下させたり、通信料の低減させる
- ConnectivityManagerからData Saverの設定を取得できるようになる
Quick Setting Tile API
- Android Nでは通知バーをExpandさせて表示できるクイック設定画面を拡張し、またデベロッパーにもAPIが公開されカスタムの設定パネルを実装することができるようになった
Number-blocking
- 着信拒否などの機能をOSレベルでサポート
Call screening
- 着信のCall.Detailsに応じて着信拒否をしたりできるCallScreeningServiceを提供する
Multi-locale support, more languages
- http://developer.android.com/preview/features/multilingual-support.html
- バイリンガルなユースケースを補助するために複数のロケールを設定できるようになった
- 25のバリアントを既存の言語に追加
ICU4J APIs in Android
- http://developer.android.com/preview/features/icu4j-framework.html
- ICU4JのAPIが使用可能になり、文字変換が行えるようになった