Android Pie は、RAM を大量に使用するゲームを誤って終了した場合に終了しないようにする機能を追加します

click fraud protection

Android Pie は本日公開されており、優れた隠された機能の 1 つは、RAM を大量に使用するゲームが誤って終了した場合に強制終了されるのを防ぐ機能です。

今日の初めに、Google 正式に発表された Google Pixel および Google Pixel 2 用の Android Pie。 その直後、 エッセンシャルがリリースされました Essential Phone の Android 9 アップデート。 参加した他のデバイス Android P ベータ プログラムに参加しているユーザーは間もなくアップデートを受け取るはずです。そのため、開発者プレビューをスキップしたユーザーは、これから多くのことを追いつく必要があります。 最新リリースを詳しく調べると、 AOSP でのソース コードのドロップ 最新の互換性定義文書 (CDD) については、発見された新しい情報を定期的に更新していきます。 CDD で見つけた興味深いものは、「重量級」 (RAM を大量に使用する) アプリとゲームのセクションです。 ユーザーが誤って終了した場合、Android Pie はこれらのアプリを RAM に保持することを優先します。 彼ら。

Android Pie の「重量級」アプリとゲーム

新しいセクションが追加されました CDD この機能の概要を説明します。 内容は次のとおりです。

3.17. 重量級アプリ

デバイス実装が FEATURE_CANT_SAVE_STATE 機能を宣言した場合、次のようになります。

  • [C-1-1] システム内で実行される cantSaveState を指定するインストール済みアプリは一度に 1 つだけでなければなりません。 ユーザーがそのようなアプリを明示的に終了せずに終了した場合 (たとえば、アクティブなアクティビティから離れるときにホームを押した場合、システムは、何も残っていない状態で戻るのではなく、 システム内のアクティブなアクティビティ)の場合、デバイス実装は、フォアグラウンドなど、実行し続けることが予想される他のものと同様に、RAM 内のそのアプリを優先しなければなりません(MUST)。 サービス。 このようなアプリがバックグラウンドにあるときでも、システムは CPU やネットワーク アクセスの制限などの電源管理機能をアプリに適用できます。
  • [C-1-2] ユーザーがcantSaveState属性で宣言された2番目のアプリを起動した後、通常状態の保存/復元メカニズムに参加しないアプリを選択するためのUIアフォーダンスを提供しなければなりません。
  • [C-1-3] CPU パフォーマンスの変更やスケジュールの優先順位の変更など、cantSaveState を指定するアプリにポリシーの他の変更を適用してはなりません。

デバイス実装が機能を宣言していない場合 FEATURE_CANT_SAVE_STATE 、そして彼らは:

  • [C-1-1] アプリによって設定された cantSaveState 属性を無視しなければならず、その属性に基づいてアプリの動作を変更してはなりません。

基本的に、これは、デバイスが FEATURE_CANT_SAVE_STATE 機能を指定する場合は、実行中のアプリを RAM に保持することを優先する必要があります。 状態を保存できません 属性。 この RAM の優先順位付けは、ユーザーがホーム ボタンを押してアプリまたはゲームを終了した場合、または明示的に終了せずにアプリまたはゲームを終了した場合 (戻るボタンを押すなど) に開始されます。 さらに、システムはこれらのアプリに対する CPU とネットワークへのアクセスを制限することで電力を節約できますが、そうでない限り、アプリを強制終了して RAM を解放することはできません。 必要。 最後に、cantSaveState 属性が定義されたアプリは 1 つだけ実行できることに注意してください。 別のアプリの実行中に、この属性が定義された別のアプリを起動しようとすると、Android Pie は実行を継続するゲームを選択するよう求めます。

ADB 経由で次の 2 つのコマンドを実行することで、デバイスが FEATURE_CANT_SAVE_STATE をサポートしているかどうかを確認できます。

adb shell
dumpsys package | grep "cant_save_state"

アプリが cantSaveState 属性を指定しているかどうかを確認するには、アプリを逆コンパイルしてマニフェストを確認するか、 dumpsys package package.name.here ADB シェルのコマンド。 この属性は API レベル 28 (Android 9 Pie) で追加されたばかりであるため、多くのアプリやゲームがこれを利用する可能性はまだ低いことに注意してください。

この機能は、少量の RAM を搭載したデバイスや大量の RAM を消費するアプリにとって非常に役立ちます。 たとえば、Android 上のフォートナイト モバイル 最低 3GB の RAM が必要です 大量の RAM を消費するため (ゲームを起動するまでもなく、Fortnite Mobile は私の Google Pixel 2 XL で 1.6 GB の RAM を予約していました)。Fortnite が SDK をターゲットにする場合 レベル 28 でこの機能を使用すると、デバイスの残量が少なくなった場合に誤ってゲームを終了してもすぐに強制終了されるのを防ぐことができます。 無料のRAM。 残念ながらフォートナイト SDK レベル 21 のみをターゲットとします 現時点 (Android 5.0 Lollipop) では、悲しいことに、Android Oreo、Android Nougat、Android Marshmallow はもちろん、Google が Android Pie で提供する最新の API を活用していません。 他のゲームもこの機能を利用できるようにアップデートされることを願っています。 来年までに、Google それらを必要とするでしょう Google Play ストアで引き続きアップデートを送信できるようにしたい場合は、アップデートしてください。