Android Lollipopの概要

2014/10/20 11296hit

GoogleI/Oで発表され「L」と呼称されていたAndroid5.0 Lollipopに関して、より詳しい情報が発表されました。
Android5.0は幅広いアップデートにより2011年のAndroid4.0以来実に3年ぶりとなるメジャーバージョンアップです。
Androidの場合メジャーバージョンはかなり慎重に行われており、従来で言えばマルチタッチを採用した2.0、タブレットに向けて幅広いUIの改良が行われた3.0、そしてそれのスマートフォンへのフィードバック版と言える4.0とユーザーに多大なインパクトを及ぼす場合のみにバージョンアップが行われました。
一方でAndroid2.3やAndroid4.1などのシステム的には重大なバージョンアップながらユーザーへの視覚的なインパクトが少ないバージョンアップについては0.1単位のバージョンアップに留まるのみでした。
それだけにバージョンアップの内容は多岐にわたるとともにユーザーへの影響も大きくなっています。

ユーザーに対して最もインパクトが有り、目玉となる機能はやはりマテリアルデザインの採用でしょうが、Android登場当初から問題となっていたJavaランタイムのパフォーマンス問題やバッテリーの問題、WebViewのバージョン問題などに対して一定の解決策を提示しており、開発者にとっても重要なバージョンアップとなっています。

原文

Android5.0 Lollipopにようこそ、これはAndroid史上最も大きく大切なリリースです。

このリリースではユーザーのための新機能に加えて開発者向けの数千の新しいAPIがパッケージされています。そしてAndroidを携帯、タブレット、ウェアラブルからTVや自動車にまで広げます。

新しい開発者向けAPIの詳細についてはAndroid 5.0 API 概要(翻訳中)を見てください。またユーザー向けのAndroid5.0についての概要はwww.android.comを読んでください。

あなたのアプリを実際のデバイスでテストするためにNexus5あるいはNexus7に書き込むには
ANDROID PREVIEW SYSTEM IMAGE

マテリアルデザイン

Android 5.0はAndroidにMaterial designを採用し、拡張されたUI toolkitによりあなたのアプリに簡単に新しいデザインパターンを適合させることが出来ます。

新しい3D viewはビュー階層から要素を引き上げるためにz-leveをセットさせます。またそれらが動くときはリアルタイムに影を落とします。

ビルドインのactivity transitionは美しいアニメーションの動作を伴いある状態から別の状態へ連続的に切り替えます。
Material themeは複数のActivity間で視覚可能な項目を共有するtransitionを追加しています。

波紋アニメーションがボタン、チェックボックスなどのタッチコントロールで使用できます。

新しいRenderThreadと呼ばれるシステムが管理するスレッドはUIスレッドに遅延が発生している時でもアニメーションをスムーズに保ちます。

パフォーマンスへの集中

Android 5.0は高速でスムーズでよりパワフルな計算力を提供します。

Androidは事前コンパイルと実行時コンパイルを複合サポートしている新しいART runtimeのみで実行するようになりました。それはARM、x86、MIPSアーキテクトをサポートし完全に64bitと互換があります。

ARTはアプリのパフォーマンスと応答性を改善します。効率がいいガベージコレクションはGCイベントによる休止の時間と回数を両方減らします。またGCイベントはあなたのアプリがv-sync window内でフレームがスキップされないように気持よくフィットします。ARTはパフォーマンスを最適化するためにフォアグラウンドで使用するメモリーの使用量も動的に変更します。

Android5.0はプラットフォームでしNexus9のNVIDIA Tegra K1で使用されている64bitアーキテクチャをサポートます。
この最適化により幅広いアドレス空間と特定の作業でパフォーマンスが向上します。Java言語で書かれたアプリは自動的に64bitで動作し、修正は必要ありません。もしあなたのアプリがネイティブコードを使用しているならNDKは新しくABIs for ARM v8とx86-64、MIPS-64のサポートも行われるようになりました。

よりスムーズなパフォーマンスに集中するため、Android5.0は改良されたA/V syncを提供します。音声と画像のパイプラインはより精密なタイムラインに基づいて実装されます。ビデオアプリやゲームはコンテンツと同期してスムーズに表示できます。

Notification

Android5.0でのNotificationはより視覚的でアクセスしやすく制御できるようになりました。

ユーザーが望めばいくつかのNotificationは詳細をロックスクリーン上で表示することが出来ます。ユーザーはどのNotificationをロックスクリーン上に表示するかを選ぶことが出来ます。

電話の着信などいくつかの重要なNotificationのアラートはheads-up notificationとして表示されます。これはユーザーが現在のアプリを終了すること無く応答あるいは無視する事ができます。

(ランキングや)カテゴリー、優先度のためにNotificationと連絡先を結びつける新しいメタデータを追加できるようになりました。

新しいメディアNotificationのテンプレートは最大6つまでのアクションボタンを持ち、一貫したメディアコントロールをNotificationに提供します。これにはサムネイルなどのカスタムコントロールを含みます。もうRemoteViewsは必要ありません。


大画面上のあなたのアプリ

Android TVはあなたのアプリの大画面上でのエクスペリエンスのために完全なTVプラットフォームを提供します。AndroidTVはホームスクリーン上でのシンプルなエクスペリエンスに特化しています。ユーザーは個人的なオススメや音声機能で簡単にコンテンツを見つけることができます。

AndroidTVによりアプリやゲームコンテンツで大きく強いエクスペリエンスを作ることが出来ます。それはゲームコントローラなどの入力デバイスによるインタラクションもサポートしています。
テレビのために3メートル離れたところから使うための映画的なUIを構築するのを助けるためにAndroidはv17 support library 内でleanback UI frameworkを提供します。

Android TV input Framework(TIF)によりTVアプリがHDMI入力やテレビアンテナ、インターネットTVから受信したビデオストリームを取り扱う事ができます。それによりHDMI-CEC コントロールサービスに含まれるメタデータを元に複数のデバイスを1つのリモートでライブTV検索やオススメを可能にします。

TV input Frameworkは様々な種類のTV入力をまとめて1つのユーザーインターフェイスでユーザーがブラウジングして見て楽しむための方法を提供します。TV入力サービスをあなたのコンテンツに提供することでTVデバイス上であなたのコンテンツがよりアクセスされやすくなります。

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

Android5.0は改良された概要スペース(以前は最近使ったアプリと言われていた)を導入します。これによりマルチタスクがより柔軟で使いやすくなります。
新しいAPIによって最近使ったアプリの隣でドキュメント毎に別々のActivityを表示できます。
ユーザーにあなたのより多くのコンテンツやサービスへ簡単にアクセスできるようにconcurent documentを利用できます。
例えば生産性が有るアプリではファイルを意味するために、ゲーム内ではマッチしたプレイヤーのために、メッセージングアプリ内ではチャットのためにconcurent documentを利用できます。

先進的な接続性

Android 5.0は新しいAPIで、アプリがBluetooth Low Energy(BLE)で複数の操作を同時に可能にする新しいAPIを追加します。またscanning (central mode)とadvertising (peripheral mode)の両方が可能になります。

新しいmulti-network機能は、アプリがWi-Fiであるか携帯回線であるか、従量制であるか、特定のネットワーク機能を提供できるかどうかといった利用可能な機能を持つ、利用可能なネットワークを問い合わせることを可能にします。そしてアプリが接続を要求し、切断時やネットワークの変更に対応できます。

NFC APIはアプリがNFC application ID(AID)を動的に登録できるようになりました。それはアクティブなサービスごとにプリファードカードのエミュレーション出来、UTF-8のテキストデータを含んだNDEFも記録できます。

ハイパフォーマンスグラフィック

対応端末ではKhronos OpenGL ES3.1をサポートし、ゲームなどのアプリで最高のパフォーマンスの2D/3Dグラフィック機能を提供します。

OpenGL ES3.1はcompute shaders, stencil textures, 先進的な視覚エフェクト、高品質なETC2/EAC圧縮テクスチャー、先進的なテクスチャレンダリング、standardized texture size、 render-buffer formats,などが追加されています。

Android5.0はAndroid Extension Pack(AEP)も導入しています。このOpenGL ES extensionsのセットにより、tessellation shadersや geometry shaders、 ASTC texture compression、 per-sample interpolation and shadingなどの先進的なレンダリング機能にアクセスできます。AEPによりGPUの範囲を超えてハイパフォーマンスグラフィックを提供できます。

GamelftsのRival KnightsはAEPによりASTC(Adaptive Scalable Texture Compression)を使用しています。またES3.1からのCompute ShadersによりHDR(High Dynamic Range)を提供し、光あふれのエフェクトやより細やかなグラフィカルを提供しています

より強力なオーディオ

新しい音声キャプチャーデザインは低レイテンシーなオーディオ入力を提供します。
新しいデザインは読み込み中は原則ブロックされることがない高速なキャプチャースレッド、ネイティブサンプル・レート時の高速なトラックキャプチャー、チャネルカウント、bit depth、channel mixの増減と bit depthの増減を可能にするノーマルキャプチャークライアントを含みます。

マルチチャンネルオーディオストリームミキシングによりプロ品質のオーディオアプリで5.1チャンネルや7.1チャンネルを含むチャンネルをアプリでmix出来ます。

アプリはメディアコンテンツを他のアプリから探させて。そしてコンテンツの再生を要求できます。
コンテンツを検索可能なインターフェイスで公開できます、デバイス上にある必要はありません。

特定の地域、品質、レイテンシーレイティングに関連した音声プロファイルによる音声エンジンのきめ細かい制御によりアプリは更に素晴らしくなります。
新しいAPIは合成エラーチェック、ネットワーク合成、言語辞書、ネットファークフォールバックのサポートを改善します。
Androidは標準的なUSBオーディオ周辺機器をサポートします。ユーザーはUSBヘッドセットやスピーカー、マイク、ハイパフォーマンスなデジタル周辺機器を接続できます。Android5.0はOpusオーディオ・コーデックもサポートします。

新しいMediaSessionAPIによりメディア再生のコントローラーをより簡単に提供できます。画面や様々なコントローラーで首尾一貫したメディアコントローラーを提供します。

強化されたカメラとビデオ

Android5.0は全く新しいcameraAPIを導入します。それは、YUVやBayer RAWなどのrawフォーマットが取得でき、露出時間やISO感度、フレームごとの時間などのパラメータを制御できます。新しく完全に同期されたカメラパイプラインによって、対応端末上では30FPSでフル解像度、無圧縮のYUVイメージをキャプチャーできます。

画像に加えて、ノイズモデルや光情報などのメタデータをカメラからキャプチャーすることも出来ます。

ネットワーク経由でビデオストリームを送っているアプリはビデオデータに最適化されたエンコーディングのためのH.265 High Efficiency Video Coding ( HEVC ) が使用可能になりました。

高解像度(4K)コンテンツや音声とビデオが共に圧縮されている機能の再生能力により最高のエクスペリエンスを提供するためにAndroid5.0はマルチメディアトンネリングのサポートも追加しました。

スクリーンキャプチャーと共有

Android5.0はアプリがスクリーンキャプチャーと画面の共有機能を追加できるようにします。

user permissionによりセキュアでないビデオを画面からキャプチャーでき、選択するとネットワーク経由で画面を配信できます。

新しいタイプのセンサー

Android5.0では新しい傾斜センサーにより対応端末において活動の認識を改善します。加えて心拍センサーはデバイスに触っている人の心拍数を計測します。

Chromium WebView

初期のAndroid5.0にはChromium M37ベースのChrome for WebViewが含まれています。これにはWebRTC、WebAudio、WebGLのサポートが追加されています。

Android4.4以降WebViewはChromiumベースになっていましたが、Chromium layerがGoogle Playからアップデート可能になりました。

Chromiumの新しいバージョンで、ユーザーがGooglePlayからアップデートを行うことが出来るようになったことで、最新の改良やバグ修正をWeb Viewに提供します、Android5.0以上ではアプリはWebViewを使って最新のWebApiとバグ修正を利用できるようになります。

アクセシビリティと入力

新しいアクセシビリティAPIにより、目が見えるユーザーが対話できるスクリーン上のウィンドウ特性について、詳細な情報を見つけることが出来ます。加えてUI要素に応じて標準、あるいはカスタマイズされた入力アクションを定義できます。

新しいInput method editor(IME)APIは他のIMEの入力メソッドから素早く切り替えができるようになります。

バッテリーに最適化されたアプリを作るためのツール

新しいjob scheduling API群はタスクを遅延させたり特定の状況(デバイスが充電中やWi-Fi接続時などのような)で動作出来るようにシステムに定義することでバッテリー寿命を最適化させることが出来ます。

新しいdumpsys batterystatsコマンドはバッテリー使用状況の統計を生成し、システム全体で電力がどのように使われているか、あなたのアプリがデバイスのバッテリーにどのような影響を及ぼしているのか理解することを助けます。電力イベントの履歴で、UIDごとやシステムコンポーネントなどのおおよその電力使用状況を見ることが出来ます。

Battery Histrorianはdumpsys batterystats からバッテリーに関するデバッグを行うための視覚的な統計に変換する新しいツールです。
これはhttps://github.com/google/battery-historianで取得できます。


Except as noted, this content is licensed under Creative Commons Attribution 2.5. For details and restrictions, see the Content License.

前:iPhone6対応のモバイルファーストなレスポンシブデザイン 完結編 次:Android 5.0 API概要

関連キーワード

[Android][Java][モバイル][IT][翻訳]

コメントを投稿する

名前URI
コメント