米グーグルは2015年10月5日、同社が開発するモバイルOSの最新版「Android 6.0」をリリース開始した。Android 6.0の新機能のうち、目玉と言えるものの一つが、端末をアイドル(待機)状態にすることで省電力を実現する「Doze」である。Dozeの動作概要や、アプリごとの設定などについて紹介する。
Android 6.0(開発コード名:Marshmallow)の新機能のうち、使い勝手向上につながるとして注目されるのが省電力化機能「Doze」である。
Dozeとは「居眠り」のこと。その名前が示す通り、これは端末全体をアイドル(待機)状態にすることで電力消費を抑える機能である。Android 6.0では既定で有効化されており、端末を電池駆動かつ長時間操作していない場合に自動的にこのスリープ状態に移行する。アイドル状態では、アプリの実行が基本的に停止されるほか、ネットワークアクセスや一部を除いたアラーム処理、同期処理などが止まる。これにより消費電力を削減する仕組みだ。
Dozeによってどれだけ消費電力を抑えられるかは、端末の利用状況や実行中のアプリ、通知の状態、システム設定などに左右される。筆者のNexus5では、12時間放置した状態で2%しか電池の残量が減らないことがあった(ただし、その状態で再度放置すると翌日には電池切れとなっていた。電池の残量表示が不正確だったか、何らかの原因でスリープ状態を維持できなかった可能性がある)。グーグルは、DozeによってNexus9の電池駆動時間を約2倍に延ばせたと発表している。
仕組みを知って上手に活用
Dozeの状態遷移などを図1に示す。Dozeではアイドル状態(STATE_IDLE)に段階的に移行する。
実用上重要なポイントは、STATE_IDLE状態に移行する直前に、端末が移動しているかどうかをモーションセンサーによって調べることである。端末の移動を検知した場合は、STATE_IDLE状態への移行を取り止めて端末をSTATE_INACTIVE状態に戻す。そのため、Dozeによる省電力化効果を最大限に発揮するには、端末を静止した状態にしておく必要がある。こうする理由は、移動中の端末をアイドル状態にすると不都合が生じるケースが多いからだろう。例えば、GPSロガーや歩数計などのアプリを稼働中に端末をアイドル状態にしてしまうと、正確な情報を記録できなくなる恐れがある。