Android 12 には、最初の開発者プレビューと開発者向けの多くの変更が含まれています

Android 12 Developer Preview 1 は、アプリ開発者が注意してアプリを適応させるための大量の変更をもたらします。 読む!

Android オペレーティング システムは何年も前から存在しており、モバイル デバイスの主要な OS となっています。 プラットフォームとしての Android は長年にわたって確実に成熟してきましたが、改善の余地は常にあります。 Google は現在、次のアップグレードの最初のバージョンをリリースしているため、改善されるでしょう。 アンドロイド12. Android 12 Developer Preview 1 は、Android をより直感的に、パフォーマンスを向上させ、安全性を高める変更をもたらします。

次に進む前に、繰り返しが必要なことを説明します。この開発者プレビューは、その名前が示すように、次のことを目的としています。 開発者のみを対象としており、今後の OS を試し、アプリをテストして変更に適応することができます。 紹介された。 つまり、意図したとおり、これは非常に大まかな OS リリースですが、Google は今後数か月かけて開発者のフィードバックをもとに改良を加えていく予定です。 あなたが平均的なユーザーの場合、Android 12 アップデートは今年の後半までには配信されないでしょう。 それまでは、ビルドを携帯電話にフラッシュしないで、Android に予定されているすべての変更点について最新の情報を入手するために、記事を読むだけをお勧めします。

Android 12 は、プライバシー、ユーザー エクスペリエンスの向上、パフォーマンスの向上を重視して構築されており、開発者プレビュー 1 では次の機能が導入されています。

  • 信頼と安全
    • WebView における最新の SameSite Cookie の動作
    • 制限付きネットリンク MAC
    • コンポーネントの安全なエクスポート
    • インテントのより安全な処理
  • より優れたユーザーエクスペリエンスツール
    • 互換性のあるメディアのトランスコーディング
    • AVIF画像のサポート
    • フォアグラウンドサービスの最適化
    • リッチコンテンツの挿入
    • 触覚結合オーディオエフェクト
    • マルチチャンネルオーディオ
    • ジェスチャー ナビゲーションのイマーシブ モードの改善
    • 通知UIのアップデート
    • より速く、より応答性の高い通知
    • バインダー IPC 呼び出しの改善
  • アプリの互換性
    • プロジェクト メインライン / Google Play システム アップデート: ART など
    • タブレット、折りたたみ式デバイス、テレビ向けに最適化
    • 非 SDK インターフェイスのリストを更新しました
    • 変更のテストとデバッグが容易になりました
    • プラットフォームの安定性のマイルストーン
  • ダウンロードする方法 そして Android 12 のインストール方法 開発者プレビュー 1

Google は、Android デバイスの安全性を確保しながら、ユーザーにさらなる透明性と制御性を提供したいと考えています。 Android 12 では、追跡に使用できる識別子に対する新しい制御や、アプリ コンポーネントのより安全なデフォルトなどが導入されています。

WebView における最新の SameSite Cookie の動作

WebView は、以下に合わせて更新されています。 Google Chromeの変更点 SameSite Cookie の動作に関しては、他のブラウザーと同様です。 これにより、セキュリティとプライバシーが強化され、ユーザーはサイト間での Cookie の使用方法の透明性と制御が強化されます。

Googleは開発者に対し、プライバシーを保護するリセット可能な識別子に移行することを望んでいる。 そのために、デバイスを対象とした Netlink MAC の移行を容易にするマルチリリースの取り組みを採用しました。 Android 11 では、デバイス スコープの Netlink MAC へのアクセスが API レベル 30 に制限されていましたが、Android 12 では、この制限は targetSDK レベルに関係なく、すべてのアプリに適用されます。

コンポーネントの安全なエクスポート

以前の Android リリースのアプリでは、アクティビティ、サービス、レシーバーを誤ってエクスポートしてしまう可能性があります。 Google は、 アンドロイド; 輸出された Android 12 では属性がより明示的になります。 Android 12 では、1 つ以上のインテント フィルターを宣言するコンポーネントは、明示的に宣言する必要があります。 アンドロイド; 輸出された 属性。 Googleは開発者に対し、変更に関連したインストールエラーを避けるためにマニフェスト内のコンポーネントを検査するようアドバイスしている。

インテントのより安全な処理

Android 12 では、アプリが変更可能フラグを明示的に宣言する必要があります。 FLAG_MUTABLE または新しい FLAG_IMMUTABLE、PendingIntentごとに。 これにより、PendingIntent の処理がより安全になります。


ユーザー エクスペリエンスをさらに磨き上げることなくアップデートは完了しません。Android 12 も例外ではありません。

最近のほとんどのモバイル デバイスには H.265 / HEVC ハードウェア エンコーディングが搭載されており、カメラ アプリで HEVC 形式でキャプチャすると、以前のものよりも品質と圧縮が大幅に向上します。 コーデック。 ほとんどのアプリは HEVC をサポートしていますが、サポートしていないアプリもまだいくつかあります。 これらのアプリに対して、Google は Android 12 と互換性のあるメディア トランスコーディングを導入しています。

この機能を使用すると、HEVC をサポートしていないアプリでも、プラットフォームがファイルを H.264 / AVC (より幅広い互換性が見込まれる形式) に自動的にトランスコードできるようになります。 ご想像のとおり、ビデオとスマートフォンのハードウェア特性によっては、トランスコーディング プロセスに時間がかかります。 Google は、1 分間の 1080p 30fps ビデオのトランスコードに約 9 秒かかる Pixel 4 (Snapdragon 855) の例を提供しています。

開発者は、アプリがサポートしていないメディア形式を宣言するだけで、トランスコーディング サービスの使用をオプトインできます。 Google では、まずアプリが HEVC をサポートすることを強く推奨していますが、それが不可能な場合は、開発者が互換性のあるメディアのトランスコーディングを有効にする必要があります。 この機能は、ビデオ キャプチャに HEVC 形式を使用するすべてのデバイスで有効になります。

AVIF 画像のサポート

Android 12 では、AV1 画像ファイル形式のプラットフォーム サポートが導入されており、より効率的な圧縮による高画質が可能になります。 AVIF は、次の方法でエンコードされた画像および一連の画像のコンテナ形式です。 AV1. AVIF は、ビデオ圧縮によるフレーム内エンコードされたコンテンツを利用し、JPEG などの古い画像形式と比較して、同じファイル サイズでの画質を大幅に向上させます。

左: AVIF (18.2kB)。 右: JPEG (20.7kB)。 クレジット: 画像比較 AVIFからジェイク・アーチボルドが上陸

フォアグラウンドサービスの最適化

フォアグラウンド サービスは、オーディオ トラックを再生してフォアグラウンド サービスを使用するオーディオ アプリなど、ユーザーが認識できる何らかの操作を実行するサービスです。 これらのサービスは、アプリがユーザー向けの特定の種類のタスクを管理するための重要な方法です。 ただし、過度に使用すると、パフォーマンスに影響し、アプリの強制終了につながる可能性があります。

ユーザーエクスペリエンスの向上を理由に、Googleは新しいプラットフォームをターゲットとするアプリのバックグラウンドからのフォアグラウンドサービスの開始をブロックする予定です。 また、開発者がこの開始パターンから移行しやすくするために、Android 12 では新しい優先ジョブが導入されています。 プロセスの優先順位を高め、ネットワーク アクセスを取得し、バッテリーなどの電力制約に関係なく即座に実行する JobScheduler セーバーまたは居眠り。 下位互換性を確保するために、Google は Jetpack WorkManager ライブラリの最新リリースに優先ジョブを組み込みました。 さらに、Google は一部のフォアグラウンド サービス通知の表示を最大 10 秒遅らせます。 これにより、有効期間が短いタスクは通知が表示される前に完了する機会が与えられ、ユーザーの気が散ることが軽減されます。

リッチコンテンツの挿入

私たちは、電話でのコミュニケーションが単純な音声とテキストのみに依存するという段階をはるかに超えてきました。 最近のほとんどのコミュニケーションは、画像 (ミーム)、ビデオ、その他の表現力豊かなコンテンツ (リアクション gif) がなければ不完全です。 ただし、これらの豊富な種類のコンテンツをアプリ内およびアプリ間で挿入したり移動したりするのは簡単ではありません。

アプリがリッチ コンテンツを簡単に受信できるようにするために、Google は、クリップボード、キーボード、ドラッグ アンド ドロップなど、あらゆるソースからコンテンツを受け入れられるようにする新しい統合 API を導入しています。 開発者は、と呼ばれる新しいインターフェイスをアタッチできます。 OnReceiveContentListener UI コンポーネントに接続し、何らかのメカニズムを通じてコン​​テンツが挿入されたときにコールバックを取得します。 したがって、このコールバックは、アプリ コードがすべてのコードの挿入を処理する単一の場所になります。 コンテンツの種類 (プレーン テキスト、スタイル付きテキスト、マークアップ、画像、ビデオ、オーディオ ファイルなど) 超えて。

下位互換性を確保するために、Google は統合 API を Androidx に追加しました。

触覚結合オーディオエフェクト

Android 12 では、アプリは携帯電話のバイブレーターを通じて、音声と連動した触覚フィードバックを提供できます。 さらに、振動の強度と周波数はオーディオ セッションから得られるため、開発者はより没入感のあるゲームとオーディオ エクスペリエンスを作成できます。 たとえば、通話アプリではカスタム着信音を使用して触覚フィードバックを通じて発信者を識別できる可能性があり、ゲームではレーシング ゲームの荒れた地形をシミュレートできる可能性があります。 ここで検討できる可能性はかなりあります。

マルチチャンネルオーディオ

Android 12 には、空間情報を含むオーディオに関するいくつかの機能強化が含まれています。 のサポートを追加します MPEG-H パススルーおよびオフロード モードでの再生。 オーディオ ミキサー、リサンプラー、エフェクトは最大 24 チャンネル用に最適化されました (Android 11 では以前の最大チャンネルは 8 チャンネルでした)。

ジェスチャー ナビゲーションのイマーシブ モードの改善

Android 12 では、表面的には非常に重要に見える変更が加えられています。 全画面または没入型のアプリ エクスペリエンスでは、Android 12 ではデフォルトでユーザーが 1 回のスワイプで携帯電話を操作できるようになります。 OS は、こうした全画面エクスペリエンスでも偶発的なジェスチャーからアプリを保護します。 文言では変更が完全に表現されていないため、開発者プレビューを入手して、何が変更されたかを正確に理解するつもりです。

通知UIのアップデート

すでにお気づきかもしれませんが、 流出したAndroid 12のスクリーンショット、通知は、より現代的で使いやすく、より機能的なものにするために少し修正されます。 Google は、ドロワーとコントロールからテンプレート自体に変更があると述べています。 トランジションとアニメーションも最適化され、よりスムーズになります。 Android 12 をターゲットとするアプリは、他のすべての通知に一致するアイコンやその他の変更を含むカスタム コンテンツを含む通知にもアクセスできます。 ハンズオンの変更点を詳しく見ていきます。

より速く、より応答性の高い通知

通知は、アプリ内の特定のセクションに到達するための明確かつ迅速なパスを提供する必要があります。 そのため、開発者は、通知タップによってアクティビティが直接開始されるようにする必要があります。 アクティビティを開始するための中継ブロードキャスト受信機またはサービス (Google が通知と呼んでいるアプローチ) トランポリン)。 通知トランポリンは大幅な遅延を引き起こし、ユーザー エクスペリエンスに影響を与える可能性があるため、Android 12 は、ターゲットを起動できないようにすることで、これらの通知トランポリンをブロックします。 活動。 Googleは開発者に対し、そのような慣行から移行するよう求めている。 この変更は、新しいプラットフォームをターゲットとするアプリにのみ適用されますが、すべてのアプリに対して、Google はトーストを表示して、開発者とユーザーにトランポリンが見えるようにします。

バインダー IPC 呼び出しの改善

Google は、99% パーセンタイルのユースケースでのエクスペリエンスの中央値を削減するレイテンシーとワークロード分散の最適化を行うことで、システムの変動性を低減することに重点を置いています。 その結果、システム バインダー呼び出しが改善され、軽量のキャッシュ戦略が追加され、ロック競合の除去に重点が置かれてレイテンシの分散が改善されました。 Google は、これにより Binder 呼び出し全体のパフォーマンスが約 2 倍向上し、次のような特定の呼び出しで大幅な改善が得られたと主張しています。 refContentProvider() (47 倍の改善)、 releaseWakeLock() (15 倍の改善)、および JobScheduler.schedule() (7.9 倍の改善)。


Android 12 でのアプリの互換性

このセクションでは、Google は開発者とユーザーの両方にとって更新をより速く、よりスムーズにすることについて説明します。 開発者が新しいプラットフォームに適応するための時間をより多く与えるために、アプリ側の変更はオプトインで行われます。

プロジェクト メインライン / Google Play システム アップデート: ART など

として 私たちは去年自体を理解していました, Google は ART を Project Mainline モジュールに移行しています。 これにより、Google は完全なシステム アップデートを必要とせずに、実行時のパフォーマンスと正確性を向上させ、メモリ コアをより効率的に管理し、Kotlin の操作を高速化できるようになります。

さらに、このニュース記事で言及されている機能の一部も、Project Mainline を通じて提供されます。 たとえば、シームレスなトランスコーディング機能は更新可能なモジュールを通じて提供されており、これが Android の将来になる可能性が非常に高いことを示しています。

タブレット、折りたたみ式デバイス、テレビ向けの最適化

Google は、Android TV 用の最初の Android 12 プレビューもリリースしています。 これにより、最新の Android 機能をテレビで利用できるだけでなく、新しい機能をテストすることもできます。 Google TV 経験。

非 SDK インターフェイスのリストを更新しました

このリリースにより、Google は 追加の非 SDK インターフェイスの制限.

変更のテストとデバッグが容易になりました

Android 11 で導入された Google では、開発者向けオプションまたは ADB を通じて個別に提示された変更のオプトイン切り替えにより、変更のテストとデバッグが容易になります。

プラットフォームの安定性のマイルストーン

昨年と同様、Google はこのリリースでプラットフォームの安定性のマイルストーンに到達する予定で、開発者が具体的な情報を得ることができるようにする予定です。 最終的な SDK/NDK API、すべての最終的な内部 API、およびアプリ側のシステム動作を準備するために必要な知識 用のアプリ。 Google は、2021 年 8 月までに Android 12 プラットフォームの安定性を達成する予定です。


Android 12 開発者プレビュー 1 をダウンロードしてインストールする

簡単にできます 最新の Android 12 開発者プレビューをダウンロード 専用の記事にあるリンクからアクセスしてください。この記事は、将来のリリースでもダウンロード リンクで更新される予定です。

Google は、次の開発者向けプレビュー アップデートを正式にリリースしています。

  • ピクセル5
  • ピクセル 4a 5G
  • ピクセル4a
  • ピクセル4
  • ピクセル4XL
  • ピクセル3a
  • ピクセル 3a XL
  • ピクセル3
  • ピクセル3XL

さらに、 Android 12 Developer Preview 1 で利用可能なインストール手順 前述の Pixel デバイスの場合は Recovery、ADB、Fastboot などの一般的なインストール ルートが使用され、他のすべての Project Treble 互換デバイスの場合は GSI 経由が使用されます。