Android 5.0 Lollipopが発表。開発で気になる新機能と特徴のまとめ


2014年10月16日(日本時間)、GoogleはブログでAndroid 5.0 Lollipopを発表しました。

Lollipop Forest

Android 5.0 Lollipopは、6月26日に公開されたAndroid L Previewの正式版の位置づけです。Android 5.0 SDKも10月17日の公開が予告されています。

Android 5.0 Lollipop(ロリポップ)に合わせてNexus 6 / Nexus 9 / Nexus Playerも発表されました。

Nexus-Family

スペック等はこちらから

  • Nexus Player Android TV搭載のセットトップボックス。コンテンツ視聴が主軸。コントローラー利用も想定されており、ゲームにも対応
  • Nexus 6Android 5.0 L搭載。高速充電、5.96 インチ 1,440 x 2,560 ディスプレイ、2GBメモリ。Motorola製のフラグシップ。
  • Nexus 9Android 5.0 L搭載。4:3インチ QXGA(2048 x 1536)ディスプレイ、64 ビット NVIDIA Tegra K1 プロセッサ。HTC製のフラグシップ。

発売時期はNexus 6が10月下旬(late)より予約開始、Nexus 9 / Nexus Player は10月17日に予約開始、11月3日に発売(いずれも北米)。

開発視点からみるAndroid 5.0 Lのまとめ

Android 5.0 L搭載デバイスについて気付いた点をまとめました。開発上の注意等です。

続きからどうぞ

画面について

ベースとなるアスペクト比はPhoneで16:9、これはKitKat以前と変わりません。タブレットではアスペクト比が4:3が登場しました(Nexus 9)。いままでのAndroidでは多くないタイプなので、サポート対象とするなら検証が必要でしょう。タブレットもPhoneもどちらも画面解像度が高くなる傾向にあります。タブレットで2048 x 1536、Phoneで2560 x 1440です。Androidではdpiに応じて画像リソースが使い分けられますが、PNGなどで画面いっぱいに表示するなど大きなリソースを扱う際にはリサイズを無視できない環境です(とくに低dpiの機種に対しての縮小方向でのリサイズはCPUとメモリを多く消費し、パフォーマンスに影響します)。

Material Designについて

Material Designは、紙とインクをモチーフに構成されています。アニメーション、レイヤによる階層構造を導入して直感的な操作を目指しています。しかし、Material Designの真価は、スマートフォンだけでなくAndroidを搭載した全てのデバイスで同じ操作感を提供するユーザー体験にあります。

Googleはガイドラインを公開していますが、Android 5.0 Lだからといって、マテリアルデザインをアプリケーションに無理に取り込む必要はありません。アニメーションやレイアウトなど5.0以前とは大きく異なるためです(とくにレイヤ構造の再現は難しい)。しかし、ボタンやカラーリング、メニューレイアウト、カードUIなど操作性でメリットが明確な部分から対応すると統一感がでて良い効果を生みます。

長時間運用について

バッテリーセーバー機能が正式に搭載されました。最大90分、使用時間が伸びます。バッテリが少ないときに液晶の明るさを下げ、イベントをまとめて実行するなどアプリの挙動が変化します。アプリのタスク実行タイミングについては、JobScheduler APIなど新しい手段も提供されています。実行タイミングの再検討、ローバッテリ時の検証は一考の価値があります。

ノーティフィケーションについて

通知機能は大きく拡張されています。ロック画面への通知、優先度のスケジューリング(通知のスヌーズ)、緊急時のポップアップ通知(Heads-up)、複数通知をまとめるなどです。さしあたって変更しなければ動かない、ということはありません。しかし、通知方法について(Android Wearなど外部デバイス連携もふくめて)アプリケーションの方針を考え直す良い機会です。ユーザーに違和感を与えない”適切なタイミングでの通知“がより重要なファクターとなります。またAndroid 5.0 Lでは、Material Designの導入にあわせて通知バーの色がアプリケーションごとに変えられます(ブランドカラー対応)。通知アイコンはモノトーン(灰色)で統一してください。視認性、デザイン性ともに劣化するためです。

マルチユーザー対応について

タブレット限定だったマルチユーザー機能がPhoneでも導入されました。拡張ストレージのPath(または外部ストレージと呼ばれる場所)などに影響があります。ゲストユーザーモードなど自分のデバイスを貸す特殊なモードも増えているため、動作検証する場合は注意が必要です(アプリの基本的な動きは変わらないですが、アカウント情報を利用するアプリであれば影響があります)。

ネットワークについて

WiFiと3Gなど異なったネットワーク間において接続性が向上しました。異なるネットワーク間を移動してもハンドオフ動作して、通信が中断されることはありません。またBLE利用時は、フレームワークの変更があるため動作確認が必要でしょう(自分をビーコンとして扱う、BLE peripheral modeに対応したほか、バッテリを考慮した効率の良いビーコンのスキャン手法に変更されています)。使用時間を延ばすProject Voltaの影響もあるかもしれません(通信タイミングがまとまるなど)。

またAndroid Beamの操作性が改善され、2つのデバイスで同時にスクリーンをタップするとデータ共有が可能になりました。

パフォーマンスについて

ARTが導入されました。NDKを利用しているアプリケーションは、動作しない恐れがあります(NDKに限った話ではなさそうですが)。ランタイム環境の入れ替えは高速化にも寄与しています(Dalvik VMが廃止されました)。
またAndroid 5.0 Lで初めて64bit CPUに対応しています。たとえばNuxus 9は初めて市場に出る64bit CPUをもったデバイスです。Javaのみで構成されたアプリケーションは、自動的に64bitネイティブアプリとして動作します。

セキュリティについて

すべてのアプリケーションがSELinux enforcingモードで動作します。マルウェアの動作を抑止するほか、Android Wear(またはCarなどより信頼できるデバイス)とペアリングすることで安全性を高めるAndroid Smart Lockに対応。Android 5.0 Lからはストレージの暗号化も自動的に行われます。

以上、おつかれさまでした。