Android Nで導入される「浅いDoze」について

今年はGoogle I/Oに合わせるのではなく、3月にAndroid N Previewが公開されました。また、4月13日(米国時間)にPreview 2へのアップデートも公開されました。

以前、「DroidKaigi 2016:「 Andoridの省電力について考える」に対する補足」にて、DroidKaigi 2016での省電力関連の発表資料の紹介とその補足をいたしましたが、その時点で最新だったAndroid 6.0系よりもさらにDozeが強化されています。

Googleが公開しているドキュメントによると、Dozeに段階が設けられました。Android 6.0で導入されたDoze(深いDoze)とは別に、端末が静止1していなくてもバッテリ駆動かつスクリーンオフの状態が一定時間続くと、制限の緩いDoze(浅いDoze)に入ります。2

「浅いDoze」では、アプリのネットワーク通信不可となり、ジョブ(詳しくはJobSchedulerを参照)と同期がメンテナンスウィンドウもしくはDozeの解除まで遅延されます。

では、実際にどのくらいの時間経つと「浅いDoze」に入るのでしょうか。Preview時点ではソースコードがまだ開示されていませんので、実際の挙動から調査をしました。

Nexus 5XにAndroid N Preview 2を入れた状態では、以下のような挙動を確認しています。

バッテリー駆動かつスクリーンオフから「浅いDoze」に入るまでの時間

5分

メンテナンスウィンドウ間の時間

5分(1回目)、10分(2回目)、15分(3回目)……と、Linear Incremental Backoffで時間が増加(上限値は未確認)


  1. Nexus 5Xの場合、端末の静止確認にはSignificant Motion Sensorを使用しているようです。このセンサでは同じ場所で端末を振り回しても静止したままとみなされ、歩行や車などで移動することで動いたとみなされます。 

  2. 「深いDoze」条件が満たされた時点で「浅いDoze」の挙動から「深いDoze」の挙動に切り替わります。 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です