プロダクト ニュース

アプリの品質向上: メモリ使用量の削減とデバイス移行の改善

4 分で読了
Raghavendra Hareesh Pottamsetty さんのプロフィールを表示
Raghavendra Hareesh Pottamsetty Google Play デベロッパーおよび収益化担当 GM

健全な Android エコシステムを維持することは、すべてのアプリとゲームが役割を果たすべき共通の取り組みです。ユーザーが期待するプレミアムなエクスペリエンスを提供できるよう、Google Play では 2 つの新しい品質要件を導入します。1 つはアプリのメモリ使用量を削減することに重点を置いた要件、もう 1 つは安全でシームレスなデバイス移行エクスペリエンスを提供することに重点を置いた要件です。

まず、デベロッパーが業界全体のハードウェア制約と Android のより広範なメモリ上限に対応できるよう、Google Play では新しいパフォーマンスのしきい値を設定します。

次に、アプリの品質向上に向けた取り組みの一環として、デバイスのアップグレード時のログインを簡素化して安全にするための新しいオンボーディング標準を導入します。

アプリのメモリ使用量の削減とコードの最適化

モバイル業界は、ハードウェアの供給が大幅に制約される状況に直面しており、デバイスのメモリ使用可能量が変化しています。この状況は、時間の経過とともにユーザー エクスペリエンスに悪影響を及ぼす可能性があります。Android は、より広範なメモリ上限を設けることで、この課題に正面から取り組んでいます。これは、過剰なメモリを使用し、システム全体の速度低下を引き起こすアプリからユーザーエクスペリエンス全体を保護することを目的としています。

この取り組みを基に、Google Play は本日、デベロッパーがユーザーの期待する高品質のエクスペリエンスをアプリで継続的に提供できるようにするためのパフォーマンスのしきい値を設定します。これには、動的メモリ使用量、ビットマップ使用量、コード最適化に関する新しいしきい値が含まれており、デバイス上での予期しないパフォーマンスの低下やアプリの強制終了を防ぐことができます。

  • 動的メモリ使用量(匿名 RSS + スワップ): これは、アクティブなメモリと圧縮されたメモリの両方を含む、アプリのプライベート データ ストレージに使用されるメモリをトラッキングします。コードやアセットなど、デバイスに保存されているファイルは除外されます。この使用量は、さまざまなアプリの状態(アプリの使用中やバックグラウンドでの実行中など)とデバイスのパフォーマンス カテゴリで評価されます。
  • ビットマップ メモリ使用量: これは、ビットマップによって消費されるメモリを評価します。アプリがフォアグラウンドにあるときはビットマップがメモリを占有しますが、バックグラウンドやキャッシュなど、表示されないアプリの状態では、ビットマップを長時間メモリに保持しないでください。
  • 最適化された DEX コード:  適切に最適化された Android App Bundle は、メモリ使用量が少なく、起動が速く、ANR が減り、レンダリングとランタイムのパフォーマンスが向上します。最適化されたフットプリントを確保するため、Google Play で公開されるアプリは、R8 などの圧縮ツールを使用して、最適化、圧縮、難読化を 25% 以上行う必要があります。最適化     

_しきい値と技術的な詳細を確認する_ことで、アプリとゲーム、RAM バケット、プロセス状態に固有の適用可能性の違いを把握できます。

対応に役立つ新しいツール 

新しい不正な動作のしきい値を満たすようにアプリやゲームを事前に検出、調査、最適化できるように、Google ではすでに Google Play Console で新しいツールのロールアウトを開始しています。    

  • 新しい動的メモリ指標の詳細な分析: 全体的な動的メモリ使用量(匿名 RSS + スワップ)とビットマップ メモリ使用量をAndroid Vitalsで直接モニタリングできます。さまざまなパーセンタイルと RAM バケットをドリルダウンして、メモリの肥大化がどこで発生しているかを正確に特定できます。

Android Vitals の新しいメモリ指標でメモリの肥大化を特定して解決する

  • **「メモリ不足」によるクラッシュをトラッキング:**  [クラッシュと ANR] に新しいフィルタを追加しました。これにより、デバイスのメモリ不足が原因で OS がアプリを強制終了したタイミングを簡単に特定できます。
  • DEX コードの最適化に関する分析情報を分析: Google Play Console にアップロードする新しい App Bundle ごとに、詳細な最適化に関する分析情報が表示されるようになりました。圧縮ツールが最適化メタデータを共有している場合は、コードの効率を簡単に評価し、改善すべき箇所を特定できます。  
image.png
Google Play Console で DEX コードの最適化に関する分析情報を確認する
  • パフォーマンスに関する事前アラートの取得: アプリやゲームが新しい不正な動作のしきい値を超えると、Android Vitals の概要ページに直接警告が表示されます。また、Android Vitalsで最適化されていないビットマップ、DEX の最適化の制限、分割 App Bundle の使用の制限が検出された場合にもアラートが表示されるため、パフォーマンスとメモリ使用量をさらに削減できます。

今年の後半には、アプリが各状態で費やす時間に関する指標や、個々のアプリがデバイスのメモリを過剰に使用しないようにする機能である Android メモリ制限機能に関する詳細な分析情報など、追加の診断ツールが提供される予定です。Google は、これらの機能強化に継続的に投資することで、デベロッパーがフットプリントを継続的に最適化し、ユーザーに提供するエクスペリエンスを向上させることを目指しています。

ポリシー適用スケジュール

2027 年 2 月より、アプリとゲームは、メモリ使用量(匿名 RSS + スワップ)、ビットマップ メモリ使用量、DEX コードの最適化について、それぞれの不正な動作のしきい値を満たす必要があります。既存の Android Vitals 指標と同様に、しきい値を超えると、アプリのエクスペリエンスの低下やデバイス上での Android アプリの強制終了を示す可能性が高くなります。  

これらのしきい値を満たしていないアプリやゲームは、Google Play でのアプリの表示と公開機能が制限される可能性があります。詳細については、今年後半にお知らせします。

今後、Android エコシステムが進化し、デベロッパーの皆様の固有のユースケースをより深く理解するにつれて、これらのしきい値は時間の経過とともに変化することが予想されます。 要件が更新された場合は、準拠するために必要な適切な期間を確保します。

安全でシームレスなデバイス移行エクスペリエンスの提供

ユーザーが新しいデバイスに切り替える際に、アプリの移行が安全かつ簡単に行えるようにする必要があります。オンボーディング エクスペリエンスを向上させるため、デバイスの移行時にログインを高速かつ安全に行えるようにする要件をアプリ デベロッパーに導入します。

ゼロタップ ログイン標準では、ユーザーログイン(任意または必須)をサポートするアプリは、Android Restore Credentials APIを使用して、ユーザーが Android デバイスを切り替えたときにログイン状態を自動的に復元する必要があります。この API を使用すると、ユーザーが新しい Android デバイスでアプリを初めて開いたときに、追加のタップ操作なしで瞬時に認識され、安全にログインできます。

2027 年 4 月より、Google Play では、Google Play ストアで完全な公開機能と最適な表示を維持するために、アプリがゼロタップ ログインの要件を満たす必要があります。

現在、ゲームはゼロタップ ログインの要件から除外されていますが、2027 年には、ゲーム認証の複雑なユースケースに特化したガイダンスと、カスタムのソリューションを提供する予定です。 単一のアカウントのログインをサポートするゲームでは、Restore Credentials API を使用してゼロタップ ログインに対応することを強くおすすめします。詳しくは、ヘルプセンターをご覧ください。

ロードマップを計画する: Google Play の要件を確認する

各要件の詳細を確認して、今後のポリシー適用期限に備えましょう。

Google Play でこれらの品質要件を満たすことは、ユーザーにとってより高速で信頼性の高いエクスペリエンスを構築するための重要なステップです。 Android コミュニティの活性化にご協力いただき、誠にありがとうございます。

続きを見る