開発者向けAndroid7.0:新機能、パフォーマンスアップグレード、その他気にしないもの

公開: 2022-03-11

Googleは数週間前にAndroid7.0Nougatを正式に発表しましたが、いつものように待つ必要があります。 ほとんどのユーザーは、来年初めまで無線(OTA)アップデートを取得しません。 一部のデバイスベンダーは単に気にしないので、他の多くの人は決してそれらを1週間も受け取らないでしょう。

これは私の卑劣なペットのように聞こえるかもしれませんが、Androidの断片化は冗談ではありません。 それは何年もの間、ユーザーと開発者にとって深刻な頭痛の種でした。 Android 7.0はその問題を解決しません。これは、ユーザーが確実に楽しめる多くの新機能とパフォーマンスの向上を可能にするため、残念です。

ただし、開発者は期待を裏切らないでください。 ここにはゲームチェンジャーはいません。 Androidの内部での主な調整と、それらがもたらす新しい機会を、最も影響の大きいものから最も影響の少ないものまで見ていきましょう。

  1. ARTの既存のAOTコンパイラを補完する新しいJITコンパイラ
  2. マルチウィンドウのサポート
  3. VulkanAPIのサポート
  4. ダイレクトブート
  5. 直接返信とバンドルされた通知
  6. Daydreamバーチャルリアリティ(VR)モード
  7. UI、アクセシビリティの調整、および背景の最適化

これは明らかにすべての新機能の包括的なリストではありません。 私はトップ7に落ち着きました。 Googleのデベロッパーパラダイスに行くと、Android7.0の詳細な概要を知ることができます。 私はあなたに不必要な綿毛を惜しまず、凝縮された、消化しやすい形であなたに有用な情報を提供します。

1.新しいJITコンパイラ、プロファイルガイド付きコンパイル

JITコンパイルが復活しました。これは、Dalvikの時代への逆戻りのように聞こえるかもしれませんが、そうではありません。 今回、Googleは、ARTの既存のAOTコンパイラを補完するために、コードプロファイリングを備えたJITコンパイラをARTに追加しました。 そして、プロファイルに基づく編集は、その日の流行語です。

ユーザーにとって大きなメリット:以前はインストールに数分かかっていた大きなアプリが、今では数秒で完了します。

ARTは、各アプリのホットメソッドとさまざまなデバイス条件のプロファイルを作成します。 ホットメソッドをプリコンパイルして、最適なパフォーマンスを提供し、RAMの使用量を減らし、消費電力を減らすことができます。

Android7.0のJITおよびAOTコンパイラ

Android 7.0:新機能、パフォーマンスの向上、その他気にしないもの。
つぶやき

追加の利点は、インストールと更新の速度が非常に速いことです。 プロファイリングは最適化の手順がないことを意味するため、Googleは、Android 6.0にインストールするのに数分かかっていた大きなアプリでも、数秒でインストールまたは更新できるようになったと主張しています。 個人的には、これがWorld of Tanks Blitzにも当てはまることを願っています。これは、私の時間に値する唯一のAndroidゲームだからです。

過去数年間で、モバイルストレージは多くの進歩を遂げてきました。 多くの現世代のデバイスは高速のUFS2.0ストレージを使用しており、これにより、昨年のeMMCストレージと比較してパフォーマンスが大幅に向上します。 Android 7.0を使用すると、ソフトウェアエンジニアはこの新しいストレージ標準を十分に活用し、さらに優れたパフォーマンスを発揮できるようになります。

以前のブログ投稿の1つをチェックして、Googleのコンパイラ計画がAndroid開発者にとって何を意味するかを詳しく調べてください。

開発者への影響:プロファイルに基づくコンパイルにより、優れたパフォーマンスと効率の向上が可能になります。 インストールと更新ははるかに高速になり、Googleの広範なドキュメントのおかげで、実装は比較的簡単になります。 みんなを待つことが少なくなります。 これは良いことです。

2.マルチウィンドウのサポート

ちょっと待ってください。Androidにマルチウィンドウ機能はすでに表示されていませんか? はいといいえ; 一部のフォークはマルチウィンドウサポートを提供していましたが、現在はネイティブです。 分割画面の実装には、サイドバイサイド上下の2つがあります。 これはモバイルデバイスに関しては多かれ少なかれ標準的ですが、残念ながら、私はまだそれを試す機会がありませんでした。

Android7.0マルチウィンドウのサポート

そして、正直なところ、ほとんどのユーザーは単にそれを必要としないので、私はモバイルデバイスのマルチウィンドウ機能のファンではありませんでした。

しかし、それはスマートフォンだけではありません。 グーグルはまた静かにスマートテレビの提供に取り組んでいるので、マルチウィンドウのサポートはこれらのデバイスにも拡張されますが、ひねりが加えられています。 より多くのディスプレイ領域で遊ぶことができるようになると、アプリビルダーはテレビでピクチャーインピクチャーモードを使用できるようになり、一部の機能はベンダー固有になります。 ベンダーは、フリーフォームモードを有効にするかどうかを決定できます。 つまり、特大のファブレット、タブレット、およびその他の大きなディスプレイを備えたデバイスの提供者は、ユーザーがウィンドウのサイズと位置を試してみることができる可能性があります。これは、Windows8.xに最初に実装されたMicrosoftのアプローチに似ています。

開発者への影響:マルチウィンドウのサポートはゲームチェンジャーではありませんが、AndroidタブレットとスマートTVですぐにチャンスを提供し、後者はピクチャーインピクチャーとビデオ録画機能も備えています。 問題? Android TVはあまり一般的ではなく、Androidタブレットはそれほど人気が​​ありませんでした。特に、マルチウィンドウのサポートから最も多くを得ることができる生産性アプリケーションに関してはそうです。

そして、誰が知っていますか? たぶん、非常に優秀な開発者は、それを利用するキラースマートフォンアプリを作成するでしょう。 息を止めません。

3. Vulkan API

これは、内部でのもう1つの潜在的に強力な更新です。 確かに、それはよりギミックな機能ほどマスコミや消費者の関心を引くことはありませんが、間違いはありません。VulkanAPIは大きな問題です。

見逃した方のために説明すると、Vulkan APIは、グラフィックスプロセッシングユニット(GPU)用の新しい低オーバーヘッドのクローズトゥメタルAPIです。 また、3Dゲームだけでなく、GPUコンピューティングにも使用できます。 基本的に、これはOpenGLのフォローアップであり、クロスプラットフォームの互換性とともにマルチスレッドプロセッサで優れたパフォーマンスを実現するはずです。 また、ドライバー開発で数千人の工数を節約できるはずです。

では、なぜもっと話題にならないのでしょうか。 まあ、それは新しい標準であり、まったく新しいグラフィックAPIの導入には通常数年かかります。 そのため、消費者は気にせず、Android開発者は気にする必要があります。

そして今、私たちは待っています... Vulkan APIのサポートは今は重要ではないように思われるかもしれませんが、数年後には巨大になるでしょう。

Android 7.0でのVulkanの実装の詳細については、今年初めに書いたVulkan APIの概要全体を読むか、Googleの開発リソースを確認してください。

開発者への影響: VulkanAPIの時代が来るでしょう。 CPUオーバーヘッドが削減されるため、GPUパフォーマンスが向上し、3Dゲームの消費電力が削減されます。 ただし、見た目の微調整だけでなく、非常に強力で複雑なグラフィックAPIについて話しているため、採用は遅くなるはずです。

4.ダイレクトブート

ロックされたAndroid7.0デバイスはどうなりますか? ユーザーがデバイスのロックを解除するまで、セキュアダイレクトブートモードで実行されます。

これを可能にするために、Android 7.0には、2つの異なる暗号化ソリューションを備えた2つのデータ保存場所があります。

  • デバイスの暗号化されたストレージダイレクトブートで利用可能であり、デバイスがロックされているかロック解除されているかに関係なくアクセスできます。
  • クレデンシャル暗号化ストレージは引き続きデフォルトの場所であり、ユーザーがデバイスのロックを解除した後にのみ使用できます。

ほとんどの影響は明らかです。デバイスのロックを解除する前に、ダイレクトブートモードで動作する必要があるアプリは、そのために有効にする必要があります。 デフォルトでは、アプリはダイレクトブートで実行できませんが、開発者はこの状態で実行する必要のあるさまざまなアプリコンポーネントを登録できます。

これには、メッセージングアプリやカレンダーアプリなど、重要な通知またはスケジュールされた通知を配信するアプリを含める必要があります。 ストレージへのアクセスを必要とするアプリは、デバイスの暗号化されたストレージに依存する必要があります。このストレージは、デバイスが検証済みの起動を実行した後に使用可能になるキーで保護されています。 アクセスは、ユーザーの資格情報、つまりPINとパスワードに関連付けられたデータには拡張されません。 クレデンシャル暗号化ストレージは、デバイスが起動してユーザーがロックを解除するまで使用できませんが、アクセスすると、デバイスの電源を切るまで使用できます。

開発者への影響:ダイレクトブートは、ユーザーエクスペリエンスと応答性を損なうことなくセキュリティを向上させることになっています。 実装は簡単なはずですが、場合によってはかなりの面倒な作業が必要になります。 それでも、セキュリティを強化するための小さなトレードオフのように聞こえます。

5.直接返信とバンドルされた通知

ダイレクトブートに関連しているように聞こえますが、ダイレクトリプライは別の獣であり、ユーザーは通知画面からメッセージや通知に応答できます。 インライン返信アクションは、通知の新しいボタンから利用できます。 実際には、ユーザーはアプリにアクセスせずに通知に返信できる必要があり、それ以外はシステムがすべて処理します。

システムは、開発者がgetResultsFromIntent()を呼び出して、必要なテキスト応答のバンドルを返すことにより、インライン応答の取得を有効にするために時間をかけた場合にのみ、その魔法を実行できます。 Android 7.0では、Googleは、キューに入れられた通知を表す新しい方法であるバンドル通知を開発者に提供します。 このソリューションは、AndroidWearの通知スタックに似ています。

バンドルされた通知はまさにそれです:クリーンな階層を持ち、親の通知が一番上にある、単一のグループに表示される同様のメッセージ。 その後、ユーザーはバンドルを拡張して、より多くの情報にアクセスして適切なアクションを実行したり、興味がない場合はすべてを簡単に却下したりできます。

ただし、バンドルされた通知は、すべてのタイプの通知で使用するためのものではありません。 Googleは、Android通知のベストプラクティスでこの点を明確にしています。 理想的には、このアプローチは、メッセージングアプリなど、類似または関連する通知を大量に生成するアプリケーションに使用する必要があります。

Android 7.0(APIレベル24)以降、ユーザーは通知ダイアログ内からテキストメッセージに直接応答したり、タスクリストを更新したりできます。 ハンドヘルドでは、インライン応答アクションは、通知に表示される追加のボタンとして表示されます。 ユーザーがキーボードを介して応答すると、システムはテキスト応答を指定したインテント(通知アクション用)に添付し、ハンドヘルドアプリに送信します。

開発者への影響:直接返信とバンドルされた通知により、多くのシナリオでユーザーエクスペリエンスが向上するはずです。 また、Googleのドキュメントから判断すると、実装も難しくないはずです。 明らかに、電子メール、メッセージング、およびソーシャルアプリは、インライン返信から最大の利益を得ることができますが、このアプローチは他の場所で実装することもできます。

6.Daydreamバーチャルリアリティ

Googleが最近VRに焦点を当てていることは、検索の巨人が誇大広告の影響を受けないことを証明しています。 私たちは皆、GoogleCardboardとGoogleGlassを覚えています。これは、拡張現実空間での不運な亀裂でした。

Glassとは異なり、Cardboardは単に枯れて死んでしまうわけではありませんが、実際の製品というよりは実験的なものです。 Googleはコンセプトを改善し、数週間後にGoogleDaydreamという新しい名前で再起動されようとしています。 Daydreamは、多かれ少なかれ、進化のステップです。 微調整されたCardboardヘッドセットのように見えますが、実質的な変更を見つけるのは困難です。

Android7.0のバーチャルリアリティはがっかりするでしょう。 技術がないからではなく、良いコンテンツがないからです。

次世代のAndroidスマートフォンでサポートが間もなく開始されますが、デザイナーと開発者は、現在唯一のDaydream準拠デバイスである現在の世代のNexus6Pでコンセプトをテストできます。

Googleは、 Daydreamをモバイル向けの次世代VRソリューションとして説明しており、Cardboardと比較して双方向性と応答性が向上しています。 同社によれば、応答性を向上させるために、Androidスタックのすべてのレベルで改善が行われたとのことです。 これにより、Android 7.0がセンサーデータにすばやくアクセスし、適切なVRシーンを適切なタイミングでレンダリングできるようになり、レイテンシが大幅に短縮されます。 Daydreamには、 APPボタンとHOMEボタンを備えた新しいワイヤレスコントローラーも付属しています。

残念ながら、これらの調整のいずれも、VRが直面する最大の問題であるコンテンツの欠如に対処することはできません。 幸いなことに、状況は好転しており、Googleは、シットコムからゲームまですべてをカバーする多くのパートナーシップを通じて、 Daydreamでより多くのコンテンツを提供することを約束しています。

Google Cardboardの概要で概説したように、モバイルVRでの私の立場はやや保守的です。 私の見解は、最近の市場調査によって部分的に立証されました。これは、VRの需要が依然として弱いことを示唆しているようです。 Googleは、今日モバイルVRが直面している歯が生える問題すべてに対処することはできません。 それは自己満足の問題ではありません。 Googleはより良いハードウェアを待たなければなりません。

Cardboardを試す前から、バッテリーの寿命と熱が問題になることはわかっていました。Googleもそうです。 今後も、これは長引く問題であり続けるでしょう。 実際、Googleは、Nexus6Pの熱性能は今後のDaydream対応の携帯電話を「代表するものではない」と明確に述べています。

ワークロードに応じて、6Pは、短時間の使用後にCPUとGPUのパフォーマンスを熱的に抑制します。

Daydreamを真に活用するには、チップメーカーやスマートフォンベンダーが新世代の製品を発表するのを待つ必要があります。

開発者への影響: Daydream VRはいくつかの新しい可能性を提供する可能性がありますが、これは見た目ほど簡単ではありません。 多くのテクノロジー企業がVRトレインに乗り込んでいますが、消費者はそうではありません。 今のところ、それは孤独で高価な乗り物です。

7. UI、アクセシビリティの調整、背景の最適化

Googleは、さらにスムーズなユーザーエクスペリエンスを提供するために、UIを洗練し、いくつかの機能を追加し、パフォーマンスを微調整しました。 これが新機能の味です:

  • スペイン語や英語などの主要言語向けの改良された言語パックと新しいローカルバリアントに加えて、約100の新しい言語の部分的なサポート。
  • 設定の複数のロケール。これにより、マルチローカルおよびバイリンガルユーザーのエクスペリエンスが大幅に向上します。
  • アプリ内ブラウザであるWebViewを改善しました。 ページをレンダリングするためにChromeAPK(バージョン51以降)に依存し、メモリ使用量と帯域幅要件を削減します。 Chromeレンダリングが有効になっている限り、スタンドアロンのWebViewAPKは更新されなくなります
  • Android for Workのアップデートにより、セキュリティが向上し、常時接続のVPNサポートが可能になります。 クイックトグル機能により、ユーザーは仕事用モードと個人用モードを切り替えることができます。
  • Project Svelteは、RAMの使用量を減らすためにアプリの実行方法を変更する、さまざまなバックグラウンド最適化のGoogleの名前です。 Googleは、 JobSchedulerGCMNetworkManagerの拡張と更新を継続すると述べていますが、同時に、広く使用されている3つのブロードキャスト( CONNECTIVITY_ACTIONACTION_NEW_PICTURE 、およびACTION_NEW_VIDEO )を削除します。 アプリがそれらのいずれかに依存している場合は、 JobSchedulerに移行する必要があります。 あなたはグーグルでこっけいな詳細をチェックすることができます。
  • UIは、ウェルカム画面とクイック設定タイルを微調整します。このタイルには、サードパーティのアプリで使用できる新しいAPIが含まれています。 通知の機能強化には、2つの新しいカスタムビューAPIが含まれています。
  • Googleアシスタント、Google Allo、GoogleDuo。

開発者への影響:これらの新機能と調整はAndroidへの追加として歓迎されますが、多くの新しい機会を生み出す可能性は低いです。

Android 7.0:結論は何ですか?

Android 7.0は、開発者にとって大したことではないと言っても過言ではありません。 これは、主に最適化に関する段階的な改善です。 これまで不可能だった、驚異的なアプリやサービスの作成を促進することはできません。

しかし、私はそれについて何も悪いことは見ていません。 スマートフォンはすでに機能満載で、人々は仕掛けに飽きてきています。そのため、Googleがパフォーマンス、電力効率、セキュリティ、および全体的なユーザーエクスペリエンスの向上に重点を置くことを選択したことは理解できます。 そして、iOSのように、Androidは今や成熟しています。 新機能の欠如に失望している場合は、新しい通常の機能であるため、それに慣れることをお勧めします。

モバイルにおけるハードウェアとソフトウェアの急速な進化の時代は過ぎ去りました。 インクリメンタルは新しいノーマルです。

考えてみると、Android 7.0に関する最大のニュースは、OS自体ではありません。 OSが提供するすべてのものを活用するように設計された新しいPixelスマートフォンを発売するのはGoogleの決定です。 ハードウェアの観点からは、特に特別なものではありません。Nexusシリーズの前身と同じように、既成のテクノロジーに基づいています。 しかし、GoogleのPixelのビジネスモデルは大きく異なり、エンドツーエンドのユーザーエクスペリエンスを制御し、Appleのような方法で付加価値を付けることに重点を置いています。

PixelがAndroidエコシステムの残りの部分にどのような影響を与えるかを推測するのは時期尚早ですが、これは確かです。それは微妙なバランスを取る行為になるでしょう。 Googleは、自社のPixelスマートフォン専用に一部の機能を予約することを選択できますが、同時に、その手を過大評価することはできません。 Pixel専用の機能を追加しすぎて、Androidベンダーを遠ざけ、製品の競争力を低下させることはできません。

これがどのように機能するかはまだわかりませんが、それまでの間、Android7.0を最大限に活用することに焦点を当てる必要があります。 実際には、その7.1を作成します。これはベータ版であり、まもなくリリースされる可能性があります。

関連: Android M(Android 6.0)開発者向け:正しい方向への進化のステップ