AndroidのDozeモード:スタンバイ電力節約モードの完全ガイド

  • Doze は、モバイル デバイスがアイドル状態のときにバックグラウンド アクティビティを最小限に抑え、深いスリープ期間と短いメンテナンス ウィンドウを組み合わせます。
  • Android は、モーション センサーや Firebase Cloud Messaging などのサービスに依存して、ネットワーク、CPU、アラーム、同期に制限を適用します。
  • ユーザーとアプリは、Doze の免除を調整またはリクエストして、バッテリー寿命のバランスを取りながら、ほぼリアルタイムの通知を受信できます。
  • Naptime、Doze 設定エディター、EnforceDoze などの高度なツールを使用すると、互換性のあるデバイスでの Doze の動作を広範囲にカスタマイズできます。

AndroidのDozeモード

Androidスマートフォンをお持ちで、ほとんど使っていないのにバッテリーが減っていくように感じることがあるなら、おそらく次のようなことを聞​​いたことがあるでしょう。 Dozeモードとそれがスタンバイ時の消費電力の削減にどのように役立つかこれは何年も前からシステムに存在している機能ですが、まだあまり知られていないため、多くのユーザーは通知が遅れる理由や一部のアプリが「スリープ状態」になっている理由を理解していません。

この記事では、さらに深く掘り下げていきます。 Doze とは何ですか? どのように機能しますか? Doze にはどのような種類がありますか? Doze はアプリにどのような影響を与えますか? どのように設定しますか? Doze を最大限に活用するためにどのようなツールが利用できますか?また、開発者向けのヒント、高度なルート オプション、Android 13 または Android 14 を実行している最新のスマートフォンで通知が遅れて届く場合の解決策も見つかります。

Android の Doze モードとは何ですか? また、何に使用されますか?

Dozeとは、簡単に言うと、 Android が、携帯電話が「テーブルの上に置かれている」ときにバックグラウンドアクティビティを可能な限り制限するために使用する省電力システム 誰にも触れられることなく。Android 6.0 Marshmallow とともに登場し、スマートフォンの最大の課題の一つである、使っていない時のバッテリーの消耗に対処するために設計されました。

Dozeが関与すると、携帯電話は一種の CPU 使用率、ネットワーク アクセス、同期、および多くのアラームがほぼ完全に削減される制御された休止状態アイデアはシンプルです。ユーザーが携帯電話を見ていない場合、システムは可能な限りスリープ状態にします。

この機能はAndroidのバージョンごとに改良されてきました。Marshmallowでは、スマートフォンが 画面がオフで充電器も付いていない状態でも 有効にするには、Android 7.0 Nougat以降では、動いている場合でも画面をオフにするだけで「ライトDoze」が起動します。

日常的に使用するDozeは、メニューに巨大な名前で表示されることはないが、 それは、一日の終わりまでなんとか持ちこたえるか、数時間余分に耐えるかの違いになります。 同じ負荷で。

Doze の仕組み: 停止サイクルとメンテナンス期間

Doze の動作は、反復サイクルに基づいています。 短時間のメンテナンスによる中断を挟んだ長時間のシャットダウンこれらのウィンドウの間、Android は「手を広げて」、アプリが保留中の作業を実行できるようにします。

スリープ状態(画面オフ、充電器なし、完全なDozeモードで目立った動きなし)になると、システムは停止状態になり、 ネットワーク アクセスを厳しく制限し、通常のアラームを延期し、スケジュールされた同期とタスクを停止します。待てるものはすべて待つ。

時々、デバイスは一時的にこの停止状態から抜け出し、 メンテナンス期間その時点で、アプリは次のことが可能になります。

  • 遅延同期を起動する (たとえば、保留中の写真のアップロードやデータベースの更新など)。
  • スケジュールされたタスクを実行する JobScheduler またはその他のスケジューラを使用します。
  • 延期されていた警報に対処する Doze がアクティブだった間。
  • ネットワークへの瞬間アクセスを活用する データを送受信します。

興味深いのは、Androidが メンテナンスウィンドウ間の休憩時間を徐々に長くする電話機が使用されていない時間が長くなればなるほど、スリープ モードで過ごす時間が長くなり、アクティブな時間が短くなり、最終的には完全な Doze モードの間隔が数時間に達します。

この装置は動きを監視し続け、 重要な動きを検出するセンサー(SMD) 完全なDozeモードのとき。持ち上げたり、動かしたり、画面を再びオンにしたりしたことを検出すると、すぐにDozeモードが終了し、 すべてのアプリの通常の動作を再開します.

Doze が適切に動作するためのハードウェアとサービスの要件

Dozeがすべての最適化を展開するには、デバイスがハードウェアレベルとシステムサービスレベルの両方で特定の要素を備えている必要があります。これは開発者にとって重要ですが、なぜ すべての携帯電話が同じようにDozeを実装しているわけではない.

まず、Androidにはクラウドベースのメッセージングサービスが必要です。 Firebase クラウド メッセージング (FCM)これにより、システムがアイドル状態のときでもプッシュ通知を受信できるようになります。これらのメッセージは、アプリに通知を送る外部トリガーとして機能します。 Dozeモード内で作業するための短い時間枠バッテリー節約を完全に無効にすることなく。

さらに、完全なDoze(モバイルデバイスが静止している必要があるもの)の場合、 重要なモーションセンサー(SENSOR_TYPE_SIGNIFICANT_MOTION、SMD)このセンサーにより、システムはデバイスがテーブルまたはベッドサイドテーブル上で実際に静止しているかどうかを判断できます。

携帯電話がこれらの要件を満たし、 Dozeが有効になっています:

  • SMD対応、Doze の完全な最適化 (軽量のものも含む) が有効になります。
  • SMDフリー画面がオフのときに起動する軽い Doze モードのみが適用され、静止状態に基づく深いモードは適用されません。

システムレベルでは、メーカーは特定のサービスを次のように指定することが多い。 居眠り免除 (電話、SMS/MMS、重要なシステムサービスなど)は、デバイスがスリープ状態であっても引き続き機能するよう最適化されています。また、ユーザーは特定のアプリをこれらの最適化から手動で削除することもできますが、これは明らかにバッテリー寿命に影響を及ぼします。

Dozeライフサイクル:いつ作動し、いつ停止するか

Dozeライフサイクルは、デバイスがアクティブ状態からスリープモードに移行し、再びアクティブになるまでの一連の動作を指します。システムがデバイスを非アクティブと見なし、Dozeを開始するには、一連の条件を満たす必要があります。 入場条件.

従来のDeep Dozeモードでは、プラットフォームは主に2つの点をチェックします。 画面が一定時間オフになり、デバイスが静止している充電器にも接続されていない場合は、システムがバッテリー制限を適用し始めるのに最適な状況が発生します。

知っておくことは非常に重要です 携帯電話の充電中はDozeモードは適用されません接続されている場合は、システムは、バッテリーの節約よりも、完全なユーザー エクスペリエンスとアクティブな同期の維持が優先されることを理解します。

ドーズを終了Androidはいくつかの終了基準を監視しており、以下の条件を検出するとすぐに自動的に非アクティブ化されます。

  • 直接的なユーザーインタラクション (画面をタッチし、ボタンを押し、携帯電話のロックを解除します)。
  • デバイスの明らかな動き センサーによると。
  • 画面をオンにする通知を確認するだけの場合でも。
  • 差し迫った目覚まし時計 目覚まし時計がプログラムされています。

通知自体は、画面を起動したり操作を伴わない場合は、 Doze デバイスは削除されません。これらは蓄積され、システムがメンテナンス期間に入ったとき、またはユーザーが携帯電話を再び手に取ったときに表示されます。

Dozeモード中の制限とLight Dozeとの違い

Dozeモードに入ると、Androidは消費電力を抑えるために幅広い制限を適用します。これらの制限は、…によって異なります。 フルダズン O·エル ライトドーズモード (Android 7.0 で導入) ですが、アプリがバックグラウンドで過度の「ノイズ」を発生させないようにするという基本的な考え方は共通しています。

完全なDozeでは、システムは 非常に厳しい制限:

  • アプリのネットワークアクセスなし 非常に特殊な例外(優先度の高いプッシュ通知など)を除き、一時停止期間中は、
  • アプリのウェイクロックは無視されますCPU が不必要に起動し続けることを防ぎます。
  • 通常のアラームは延期されます目覚まし時計や、 setAndAllowWhileIdle() o setExactAndAllowWhileIdle()アプリケーションごとに頻度制限があります。
  • Wi-Fiスキャンやネットワーク検索は実行されません 深いサスペンションが持続します。
  • SyncAdapter の同期と JobScheduler でスケジュールされたタスク 次のメンテナンス期間まで延期されます。
  • SMSとMMSを扱うアプリ Doze でもメッセージを処理できるように、一時的に許可リストに追加されます。

携帯電話が動いても画面をオフにするとすぐに作動するライトDozeモードでは、制限は やや柔らかいしかし、それらは依然として関連性があります。

  • バックグラウンドタスクには無制限のネットワークアクセスはありませんただし、メンテナンス期間中は除きます。
  • タスク、同期、バックグラウンド作業は、それほど厳密ではありませんが区別されています。.
  • リアルタイムメッセージ(通話、インスタントメッセージなど)を受信できます特に、FCM 経由の高優先度メッセージを使用してネットワークを一時的に再アクティブ化する場合に役立ちます。

概念的な表は次のようになります。完全なDozeモードでは、携帯電話はほぼ電源がオフになっているかのように動作し、 優先度の高いプッシュ通知と重要なタスクDoze Light では、接続性はより維持されますが、必須でないトラフィックの多くは制限されます。

Doze、App Standby、非アクティブアプリ管理の関係

バッテリー寿命を争うのはDozeだけではありません。Androidにはもう一つ重要な機能があります。 アプリスタンバイユーザーがしばらく開いていない、またはアクティブに使用していないアプリの動作を監視し、 バッテリーを最も消費するアプリ.

Dozeは、 デバイスの一般的な状態アプリスタンバイは、 各アプリの個別の動作アプリがしばらく使用されず、特定の条件を満たしていない場合、システムはそのアプリを「非アクティブ」としてマークし、バックグラウンドでのネットワークへのアクセスを制限します。

アプリスタンバイによりアプリが非アクティブとみなされないようにするには、 これらの基準のいずれかを満たす必要があります:

  • ユーザーが 明示的に開く 最近の期間において。
  • 持ってください フォアグラウンドで処理する (音楽の再生や写真のアップロードなどの目に見えるアクティビティまたは正当なフォアグラウンド サービス)。
  • それは生成する 目に見える通知 ユーザーがロック画面またはトレイで見るもの。

携帯電話がDozeモードになっているとき、そのモードで過ごす時間 アプリスタンバイにはカウントされませんただし、非アクティブとしてマークされたアプリは、デバイスが長時間スリープ モードのままであっても、少なくとも 1 日に 1 回は通常のアクティビティを実行できます。

携帯電話を電源コンセントに差し込むとすぐに、Android アプリスタンバイの制限を解除 非アクティブなアプリがネットワークに再び自由にアクセスし、延期されたジョブや同期を実行できるようになります。

実際のユーザー体験: Doze が日常生活にもたらす変化

技術的な詳細を超えて、ほとんどの人が尋ねる質問は次のとおりです。 Doze は日常的な使用で本当に違いを生むのでしょうか? 答えは、ほとんどの場合、はい、かなり多くの場合、です。

旧型のNexus 5や同等のモデルのような端末では、Android 6.0にアップデートした後、多くのユーザーが 電話を一晩中、あるいは数時間テーブルの上に置いたままにしても、バッテリーの消耗は最小限でした。以前は携帯電話がアイドル状態になっているだけで 10 ~ 20 個の充電ポイントが失われていましたが、その後は低下するポイントが大幅に減少しました。

携帯電話を適度に使用し、長時間画面をオフにして標準的なアプリを使用する人は、 充電せずに1~2日持ちます以前は考えられなかったことですが、続ける価値はあります バッテリー寿命を延ばすためのヒントただし、画面をほぼ常にオンにしている非常に集中的なユーザーの場合、継続的に操作している間は Doze がほとんど機能しないため、違いはあまり感じられません。

欠点は、一部の携帯電話や設定ではDozeが Facebook、Gmail、メッセージなどのアプリからの通知が遅れて届きます。たとえば、仕事中にしばらく通知を受け取らずにいたのに、携帯電話を手に取ったり家に帰ったりすると、突然、もっと早く届くはずだった大量の通知が届く、といった状況です。

このような場合には、 特定のアプリをバッテリー最適化から除外する これにより、消費電力は若干増加しますが、よりリアルタイムな応答性を維持できます。これは、バッテリー寿命と通知の「即時性」のバランスを取る行為です。

Androidの設定から特定のアプリのDozeを無効にする方法

重要なアプリケーション(例えば、仕事のメッセージング)があり、Dozeで速度を落としたくない場合は、 バッテリーの最適化から削除できます Dozeを完全に無効にすることはできません。カスタマイズレイヤーによってプロセスは若干異なる場合がありますが、概ね同様です。

たくさん 典型的な手順 アプリで Doze を無効にするには、次の手順を実行する必要があります。

  1. IR情報 設定 > アプリと通知 (またはモバイル上の同様のメニュー)。
  2. クリック すべてのアプリを見る 最近のリストに興味のあるものが見つからない場合。
  3. アプリ(WhatsApp、Gmail、Facebook など)を選択します。
  4. アプリの詳細内で、セクションを入力します バッテリー (「上級」などに含まれる場合があります)。
  5. クリック バッテリーの最適化.
  6. 「最適化されていないアプリ」から表示を変更する 「すべてのアプリ」 完全なリストを表示するには、
  7. 目的のアプリを見つけてタップします。
  8. オプションを選択してください 「最適化しない」 「承諾」または「完了」をクリックして確定します。

それ以降、Androidは特定のアプリへのDoze制限の適用を停止します(少なくとも標準的なバッテリー最適化に関しては)。このオプションを過度に使用せず、…のために取っておくことが重要です。 本当に必要なアプリがいくつか除外する人が多すぎると、自律性の向上が著しく低下するからです。

Androidのバッテリーステータス
関連記事
Androidのバッテリーの状態:完全ガイド、おすすめアプリ、バッテリー維持のヒント