Android Lollipop

Android 5.0 Lollipop は、これまでの Android の中で最も大きく刷新された意欲的なリリースです。

このリリースには、ユーザー向けの新しい機能だけでなく、デベロッパー向けに数多くの新しい API が追加されています。これらの API を使用することで、スマートフォン、タブレット、ウェアラブルに加え、TV や自動車用にも Android を拡張できます。

デベロッパー向けの新しい API の概要については、Android 5.0 API をご覧ください。Android 5.0 のユーザー向けの新機能については www.android.com をご覧ください。

注: 追加機能とバグ修正が含まれている Android 5.1 Lollipop MR1 アップデートもご利用いただけます。詳細については、Android 5.1 API をご覧ください。

マテリアル デザイン

Android 5.0 ではマテリアル デザインが導入され、拡張 UI ツールキットを使用することで新しいデザイン パターンをアプリに簡単に統合できるようになりました。

新しい 3D ビュー機能では、z 軸の高さを設定することでビュー階層から要素を浮かせたり、要素が移動してもリアルタイム シャドウ機能によって影を追随させたりすることができます。

組み込みのアクティビティ遷移機能により、美しくアニメーション化された動きを使って次の状態にシームレスに遷移できます。マテリアル テーマを使用するとアクティビティを遷移させることができ、アクティビティ間で共有されたビジュアル要素を使用することもできます。

端末の画像をクリックすると動作が再現されます

アプリ内のタップ コントロール(ボタン、チェックボックスなど)に波紋アニメーションを適用できます。

XML でベクター型ドローアブルを定義して、さまざまな方法でアニメーション化することも可能です。ベクター型ドローアブルは定義を失わずに拡大縮小できるため、単色のアプリアイコンに最適です。

RenderThread と呼ばれる新しいシステム管理の処理スレッドによって、メインの UI スレッドに遅延が発生してもアニメーションがスムーズに表示されます。

パフォーマンス重視

Android 5.0 では、より高速でスムーズな演算処理が実現します。

Android は新しい ART ランタイムでのみ実行されるようになりました。ART は基礎から再構築され、AOT(ahead-of-time)、JIT(just-in-time)、インタプリタ型のコードの併用が可能になっています。これは ARM、x86、MIPS アーキテクチャでサポートされる 64 ビット完全互換のランタイムです。

ART ではアプリのパフォーマンスと応答性が向上します。効率的なガベージ コレクションによって、GC イベントのための一時停止の回数や時間が減少し、垂直同期の期間にうまく適合するようになったため、アプリでフレームがスキップされなくなります。また、ART はメモリを動的に移動することによって、フォアグラウンドでの使用時のパフォーマンスを最適化します。

Android 5.0 では、Nexus 9 の NVIDIA Tegra K1 で採用されている 64 ビット アーキテクチャのプラットフォームが新たにサポートされています。最適化によってより広いアドレス空間が提供され、特定の演算負荷の処理能力が向上しました。Java 言語で記述されているアプリは、修正なしで自動的に 64 ビット アプリとして実行されます。ネイティブ コードを使用するアプリのために、ARM v8、x86-64、MIPS-64 用の新しい ABI をサポートするように NDK が拡張されました。

パフォーマンスをさらに向上させるため、Android 5.0 では A/V の同期が改善されました。タイムスタンプをより正確に処理するためにオーディオとグラフィックのパイプラインが搭載されたため、動画アプリやゲームでスムーズに同期されたコンテンツが表示されます。

通知

Android 5.0 の通知は、より見やすく、アクセスしやすく、設定しやすくなりました。

ユーザーが望む場合、さまざまな通知の詳細をロック画面に表示できます。ユーザーは、セキュリティで保護されたロック画面に通知内容をすべて表示するか、一部だけ表示するか、表示しないかを選択できます。

着信などの重要な通知アラートはヘッドアップ通知と呼ばれる小さいフローティング ウィンドウに表示されるため、現在のアプリから移動せずに応答したり削除したりできます。

通知に新しいメタデータを追加して、関連する連絡先(ランク付け用)、カテゴリ、優先度を収集できるようになりました。

新しいメディア通知テンプレートでは、最大 6 つのアクション ボタンを使用して、通知に一貫性のあるメディア コントロール(「いいね」などのカスタム コントロールを含む)が提供されます。RemoteViews はもう必要ありません。

アプリを大画面に表示

Android TV は、アプリを大画面で楽しむためのテレビ用プラットフォームを提供します。Android TV はシンプルなホーム スクリーンをベースに構成されており、ユーザーへのおすすめや音声検索によってコンテンツを簡単に見つけることができます。

Android TV なら、アプリやゲームのコンテンツを迫力の大画面で楽しむことができ、ゲーム コントローラーなどの入力デバイスを使用したインタラクションもサポートされます。ホームシアターやテレビ用の 10 フィート UI を実現できるように、Android では v17 サポート ライブラリLeanback UI フレームワークが用意されています。

Android TV 入力フレームワーク(TIF)を使用すると、HDMI 入力、テレビ チューナー、IPTV レシーバー デバイスなどのソースからの動画ストリームを TV アプリで処理できます。TV 入力で公開されているメタデータを使用することによって、放送中のテレビ番組を検索したり、ユーザーへのおすすめを表示したりできます。また、HDMI-CEC コントロール サービスを使用して、複数のデバイスを 1 つのリモコンで操作することも可能です。

TV 入力フレームワークでは、さまざまなテレビ番組の入力ソースにアクセスして、それらを単一のユーザー インターフェースにまとめ、ユーザーがコンテンツを閲覧したり視聴したりできるようにすることができます。コンテンツの TV 入力サービスを作成すると、TV デバイスでコンテンツを視聴しやすくなります。

ドキュメント中心のアプリ

ドキュメント中心の最近使ったアプリ

Android 5.0 では、再設計された Overview(以前は Recents と呼ばれていました)のスペースが導入され、用途が広がって、マルチタスクにも使えるようになりました。

新しい API では、アプリ内の各アクティビティを個別のドキュメントとして、他の最近使ったアプリの画面と並べて表示できます。

同時実行中のドキュメントを活用することによって、ユーザーがコンテンツやサービスにすばやくアクセスできるようになります。たとえば、同時実行中のドキュメントを使用すると、生産性向上アプリのファイル、ゲームでのプレーヤー同士の対戦、メッセージ アプリのチャットなどを表示できます。

高度な接続機能

Android 5.0 では、アプリと BLE(Bluetooth Low Energy)の同時処理が可能な新しい API が追加され、スキャン(セントラル モード)とアドバタイジング(ペリフェラル モード)の両方を行うことができます。

新しいマルチ ネットワーキング機能により、アプリから特定の機能に利用できるネットワーク(Wi-Fi、モバイル、従量制、特定のネットワーク機能を提供するネットワークなど)を探すことができます。その後、アプリから接続を要求したり、切断やネットワーク変更に対して応答したりできます。

NFC API では、アプリケーションから NFC AID(Application ID)を動的に登録できるようになりました。また、アクティブなサービスごとに優先されるカード エミュレーション サービスを設定したり、UTF-8 テキスト データを含む NDEF レコードを作成したりできます。

高性能グラフィック

Khronos OpenGL ES 3.1 のサポートにより、対応デバイスでゲームやその他のアプリに高性能な 2D / 3D グラフィック機能が提供されるようになりました。

Gameloft の Rival Knights は、AEP の ASTC(Adaptive Scalable Texture Compression)と ES 3.1 のコンピュート シェーダーを使用して、HDR(High Dynamic Range)ブルーム効果とより詳細なグラフィックを実現しています。

OpenGL ES 3.1 により、コンピュート シェーダー、ステンシル テクスチャ、アクセラレータによる視覚効果、高品質 ETC2/EAC テクスチャ圧縮、高度なテクスチャ レンダリング、標準化されたテクスチャ サイズ、レンダー バッファ フォーマットなどが追加されました。

Android 5.0 では、一連の OpenGL ES 拡張である Android エクステンション パック(AEP)が導入され、テッセレーション シェーダー、ジオメトリ シェーダー、ASTC テクスチャ圧縮、サンプル単位での補間とシェーディングなどの高度なレンダリング機能が利用できます。AEP を使用すると、さまざまな GPU で高性能なグラフィックを実現できます。

さらに強化された音声機能

新しい音声録音デザインにより、音声入力の遅延が短縮されました。新しいデザインには、読み込み中を除いてブロックが発生しない高速録音スレッド、ネイティブ サンプル レートでの高速トラック録音クライアント、チャンネル カウント、ビット深度、リサンプリングを可能にする通常の録音クライアント、チャンネルのアップミックスとダウンミックス、ビット深度の調整が含まれています。

マルチチャンネルの音声ストリーム ミキシングを使うと、本格的なオーディオ アプリで 5.1 や 7.1 チャンネルを含め最大 8 つのチャンネルをミキシングできます。

アプリでは、メディア コンテンツを公開したり、他のアプリのメディアを閲覧したり、その再生をリクエストしたりできます。コンテンツはクエリ可能なインターフェースで公開されるため、端末に保持する必要はありません。

アプリでは、特定のロケール、音質、遅延レーティングに関連付けられた音声プロファイルによって、音声合成によるテキスト読み上げを細かく制御できます。新しい API では、合成エラー チェック、ネットワーク合成、言語検出、ネットワーク フォールバックのサポートも改善されています。

Android に標準の USB オーディオ機器のサポートが含まれるようになり、ユーザーは USB ヘッドセット、スピーカー、マイクなどの高性能デジタル機器を接続できます。Android 5.0 には、Opus 音声コーデックのサポートも追加されています。

メディア再生を制御するための新しい MediaSession API を使用すると、複数の画面や各種コントローラにわたって一貫性のあるメディア制御を簡単に行うことができるようになります。

カメラとビデオの拡張

Android 5.0 では一新されたカメラ API が導入されており、YUV、Bayer RAW などの RAW 形式で撮影したり、露出時間、ISO 感度、フレーム単位のフレーム持続時間などのパラメータを制御したりできます。完全に同期された新しいカメラ パイプラインを使用すると、対応デバイスで未圧縮のフル解像度 YUV イメージを 30 FPS で撮影できます。

画像の撮影をより細かく制御できることの他に、新しい API ではカメラのプロパティや機能に関する詳細な情報を公開したり、各フレームの撮影設定を示すメタデータを提供したりできます。

ネットワーク経由で動画ストリームを送信するアプリでは、H.265 HEVC(High Efficiency Video Coding)を利用して動画データのエンコードとデコードを最適化できるようになりました。

Android 5.0 にはマルチメディア トンネリングのサポートも追加されており、超高解像度(4K)のコンテンツを最適な状態で視聴したり、圧縮された音声データと動画データを一緒に再生したりできます。

職場での Android

個人用アプリと仕事用アプリをまとめて表示し、バッジで簡単に識別できます。

企業環境において BYOD(Bring-Your-Own-Device)を可能にするには、新しい管理されたプロビジョニング プロセスを使用して端末にセキュリティ保護された仕事用プロファイルを作成します。ランチャーで、アプリにワーク バッジが表示されている場合は、アプリとそのデータが IT 管理者によって仕事用プロファイル内で管理されていることを示します。

個人プロファイルと仕事用プロファイルの通知は統合されたビューに表示されます。各プロファイルのデータは、常に別々に維持され、それぞれがセキュリティ保護されます(同じアプリを両方のプロファイルで使用する場合を含む)。

会社所有の端末は、IT 管理者が新しい端末として登録してデバイス オーナーを設定します。雇用主はグローバル端末設定が構成可能なデバイス オーナー アプリが既にインストールされているこれらの端末を支給できます。

画面のキャプチャと共有

Android 5.0 では、アプリに画面キャプチャや画面共有の機能を追加できます。

ユーザーのパーミッションが得られれば、セキュリティで保護されていない動画を画面から録画してネットワークに配信することも可能です。

新しいタイプのセンサー

Android 5.0 では、新しい傾き検出センサーによって、対応デバイスでアクティビティが認識されやすくなります。また、心拍数センサーにより、端末に接触している人の心拍数が報告されます。

新しいインタラクション複合センサーを使用すると、ウェイクアップ操作、ピックアップ操作、グランス操作などの特殊なインタラクションを検出できます。

Chromium WebView

Android 5.0 の初期リリースには、Chromium M37 リリースをベースにしたバージョンの Chromium for WebView が含まれており、WebRTCWebAudioWebGL のサポートが追加されています。

Chromium M37 には、すべての Web Components 仕様(カスタム要素、Shadow DOM、HTML Imports、テンプレート)のネイティブ サポートも含まれています。これは、WebView で Polymer とそのマテリアル デザイン UI 要素を Polyfill なしに使用できることを意味します。

Android 4.4 以降では WebView は Chromium をベースにしていますが、Chromium レイヤーは Google Play から更新できるようになりました。

Chromium の新バージョンがリリースされたとき、Android 5.0 以上で WebView を使用しているアプリのウェブ API のアップデートやバグ修正がある場合は、ユーザーが Google Play からアップデートすることで WebView の最新の拡張とバグ修正を確実に適用できます。

ユーザー補助機能と入力

新しい Accessibility API では、視覚に障がいのないユーザーが操作できる画面上のウィンドウのプロパティに関する詳細情報を取得したり、UI 要素の標準入力アクションやカスタム入力アクションを定義したりできます。

新しい IME(Input Method Editor)API を使用すると、利用中の入力方法から直接他の IME にすばやく切り替えることができます。

省電力アプリのためのツール

新しいジョブ スケジューリング API を使用すると、システムのジョブの実行を遅延させて後で実行するか、特定の条件下(端末の充電中、Wi-Fi 接続時など)で実行することによって、バッテリーの消費を最適化できます。

新しい dumpsys batterystats コマンドでは電池の使用統計情報が生成され、システム全体での電池の使用状況や、アプリが端末の電池に与える影響を理解するために使用できます。電力に関連するイベントの履歴、UID やシステム コンポーネントごとのおおよその消費電力量なども確認できます。

Battery Historian は新しいツールであり、電池関連のデバッグを行うために dumpsys batterystats の統計情報を変換して視覚化できます。このツールは https://github.com/google/battery-historian から入手できます。