page.title=Power Management
@jd:body

<!--
    Copyright 2015 The Android Open Source Project

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<div id="qv-wrapper">
  <div id="qv">
    <h2>In this document</h2>
    <ol id="auto-toc"></ol>
  </div>
</div>

<p>Battery life is a perennial user concern. To extend battery life, Android
continually adds new features and optimizations to help the platform optimize
the off-charger behavior of applications and devices.</p>
<p>Android includes the following battery life enhancements:</p>

<ul>
<li><strong><a href="#app-standby">App Standby</strong></a>. The platform can
place unused applications in App Standby mode, temporarily restricting network
access and deferring syncs and jobs for those applications.</li>
<li><strong><a href="#doze">Doze</strong></a>. The platform can enter a state of
deep sleep (periodically resuming normal operations) if users have not actively
used their device (screen off and stationary) for extended periods of time.
Android 7.0 also enables Doze to trigger a lighter set of optimizations when
users turn off the device screen yet continue to move around.</li>
<li><strong><a href="#exempt-apps">Exemptions</strong></a>. System apps and
cloud messaging services preloaded on a device are typically exempted from App
Standby and Doze by default (although app developers can intent their
applications into this setting). Users can exempt applications via the Settings
menu.</li>
</ul>

<p>The following sections describe these enhancements.</p>

<h2 id="app-standby">App Standby</h2>
<p>App Standby extends battery life by deferring background network activity
and jobs for applications the user is not actively using.</p>

<h3 id="app-standby-life">App Standby lifecycle</h3>
<p>The platform detects inactive applications and places them in App Standby
until the user begins actively engaging with the application.</p>

<table>
<tbody>
<tr>
<th width=46%>Detection</th>
<th width=23%>During App Standby</th>
<th width=31%>Exit</th>
</tr>

<tr>
<td><p>The platform detects an application is inactive when the device is not
charging <strong>and</strong> the user has not launched the application directly
or indirectly for a specific amount of clock time as well as a specific amount
of screen-on time. (Indirect launches occur when a foreground app accesses a
service in a second app.)</p></td>
<td><p>The platform prevents applications from accessing the network more than
once a day, deferring application syncs and other jobs.</p></td>
<td><p>The platform exits the app from App Standby when:</p>
<ul>
<li>Application becomes active.</li>
<li>Device is plugged in and charging.</li>
</ul>
</td>
</tr>
</tbody>
</table>

<p>Active applications are unaffected by App Standby. An application is active
when it has:</p>
<ul>
<li>A process currently in the foreground (either as an activity or foreground
service, or in use by another activity or foreground service), such as
notification listener, accessibility services, live wallpaper, etc.</li>
<li>A notification viewed by the user, such as in the lock screen or
notification tray.</li>
<li>Explicitly been launched by the user.</li>
</ul>
<p>An application is inactive if none of the above activities has occurred for
a period of time.
</p>

<h3 id=testing_app_standby>Testing App Standby</h3>
<p>You can manually test App Standby using the following ADB commands:</p>

<pre>
$ adb shell dumpsys battery unplug
$ adb shell am set-idle packageName true
$ adb shell am set-idle packageName false
$ adb shell am get-idle packageName
</pre>

<h2 id="doze">Doze</h2>

<p>Doze extends battery life by deferring application background CPU and
network activity when a device is unused for long periods.</p>

<p>Idle devices in Doze periodically enter a maintenance window, during which
apps can complete pending activities (syncs, jobs, etc.). Doze then resumes sleep
for a longer period of time, followed by another maintenance window. The
platform continues the Doze sleep/maintenance sequence, increasing the length of
idle each time, until a maximum of a few hours of sleep time is reached. At all
times, a device in Doze remains aware of motion and immediately leaves Doze
if motion is detected.</p>

<p>Android 7.0 extends Doze to trigger a lighter set of optimizations every time
a user turns off the device screen, even when the user continues to move around,
enabling longer lasting battery life.</p>

<p>System services (such as telephony) may be preloaded and exempted from Doze
by default. Users can also exempt specific applications from Doze in the
Settings menu. By default, Doze is <strong>disabled</strong> in the Android Open
Source Project (AOSP). For details on enabling Doze, see
<a href="#integrate-doze">Integrating Doze</a>.</p>

<h3 id="doze-reqs">Doze requirements</h3>
<p>Doze support requires the device has a cloud messaging service, such as
<a href="https://developers.google.com/cloud-messaging/">Google Cloud Messaging
(GCM)</a>. This enables the device to know when to wake from Doze.</p>
<p>Full Doze support also requires a
<a href="{@docRoot}devices/sensors/sensor-types.html#significant_motion">Significant
Motion Detector (SMD)</a> on the device; however, the lightweight Doze mode in
Android 7.0 does not require an SMD. If Doze is enabled on a device that:</p>
<ul>
<li>Has an SMD, full Doze optimizations occur (includes lightweight
optimizations).</li>
<li>Does not have an SMD, only the lightweight Doze optimizations occur.</li>
</ul>


<h3 id="doze-life">Doze lifecycle</h3>

<p>Doze begins when the platform detects the device is idle and
ends when one or more exit criteria activities occur.</p>

<table>
<tbody>
<tr>
<th width=20%>Detection</td>
<th width=60%>During Doze</th>
<th width=20%>Exit</th>
</tr>
<tr>
<td><p>The platform detects a device is idle when:</p>
<ul>
<li>Device is stationary (using significant motion detector).</li>
<li>Device screen is off for some amount of time.</li>
</ul>
<p>Doze mode does not engage when the device is plugged into a power charger.
</p>
</td>
<td><p>The platform attempts to keep the system in a sleep state, periodically
resuming normal operations during a maintenance window then returning the device
to sleep for longer repeating periods. During sleep, the following
restrictions are active:</p>
<ul>
<li>Apps not allowed network access.</li>
<li>App wakelocks ignored.</li>
<li>Alarms deferred. Excludes alarm clock alarms and alarms set using
<code>setAndAllowWhileIdle()</code> (limited to 1 per 15 minutes per app while
in Doze). This exemption is intended for apps (such as Calendar) that must show
event reminder notifications.</li>
<li>Wi-Fi scans not performed.</li>
<li>SyncAdapter syncs and JobScheduler jobs deferred until the next maintenance
window.</li>
<li>Apps receiving SMS and MMS messages are put on a temporary whitelist so
they can complete their processing.</li>
</ul>
</td>
<td><p>The platform exits the device from Doze when it detects:</p>
<ul>
<li>User interaction with device.</li>
<li>Device movement.</li>
<li>Device screen turns on.</li>
<li>Imminent AlarmClock alarm.</li>
</ul>
<p>Notifications do not cause the device to exit from Doze.</p>
</td>
</tr>
</tbody>
</table>

<p>Android 7.0 extends Doze by enabling a lightweight sleep mode during screen
off, before the device is idle.</p>
<p><img src="../images/doze_lightweight.png"></p>
<p class="img-caption">Figure 1. Doze modes for non-stationary and stationary
devices.</p>

<table>
<tbody>
<tr>
<th>Action</th>
<th>Doze</th>
<th>Lightweight Doze</th>
</tr>
<tr>
<td>Trigger</td>
<td>Screen off, on battery, stationary</td>
<td>Screen off, on battery (unplugged)</td>
</tr>
<tr>
<td>Timing</td>
<td>Successively increasing periods with maintenance</td>
<td>Repeated N-minute periods with maintenance windows</td>
</tr>
<tr>
<td>Restrictions</td>
<td>No network access, wake lock, or GPS/Wi-FI scan. Alarms and jobs/syncs deferred.</td>
<td>No network access. Jobs/syncs deferred except during maintenance windows.</td>
</tr>
<tr>
<td>Behavior</td>
<td>Only high-priority push notification messages received.</td>
<td>All real-time messages (instant messages, calls, etc.) received. High-priority push notification message enables temporary network access.</td>
</tr>
<tr>
<td>Exit</td>
<td>Motion, screen on, or alarm clock alarm.</td>
<td>Screen on.</td>
</tr>
</tbody>
</table>

<h3 id="doze-interactions">Interaction with App Standby</h3>
<ul>
<li>Time spent in Doze does not count towards App Standby.</li>
<li>While the device is in Doze, idle applications are allowed to perform normal
operations at least once a day.</li>
</ul>

<h3 id="integrate-doze">Integrating Doze</h3>

<p>When Doze is enabled, devices that support
<a href="{@docRoot}devices/sensors/sensor-types.html#significant_motion">SENSOR_TYPE_SIGNIFICANT_MOTION</a>
will perform full Doze optimizations (includes lightweight optimizations);
devices without an SMD will perform only lightweight Doze optimizations. Android
automatically selects the appropriate Doze optimizations and no vendor
configuration is necessary.</p>

<p>To enable Doze for a device, perform the following tasks:</p>

<ol>
<li>Confirm the device has a cloud messaging service installed.</li>
<li>In the device overlay config file
<code>overlay/frameworks/base/core/res/res/values/config.xml</code>, set
<code>config_enableAutoPowerModes</code> to <strong>true</strong>:
<pre>
bool name="config_enableAutoPowerModes"&gt;true&lt;/bool&gt;
</pre>
<br>In AOSP, this parameter is set to false (Doze disabled) by default.<br>
</li>
<li>Confirm that preloaded apps and services:
<ul>
<li>Use the
<a href="https://developer.android.com/training/monitoring-device-state/doze-standby.html">power-saving
optimization guidelines</a>. For details, see <a href="#test-apps">Testing and
optimizing applications</a>.
<p><strong>OR</strong></p>
<li>Are exempted from Doze and App Standby. For details, see
<a href="#exempt-apps">Exempting applications</a>.</li>
</ul>
</li>
<li>Confirm the necessary services are exempted from Doze.</a>
</li>
</ol>

<h4 id="doze-tips">Tips</h4>
<ul>
<li>If possible, use GCM for
<a href="https://developers.google.com/cloud-messaging/downstream">downstream
messaging</a>.</li>
<li>If your users must see a notification right away, use a
<a href="https://developers.google.com/cloud-messaging/concept-options#setting-the-priority-of-a-message">GCM high priority
message</a>.</li>
<li>Provide sufficient information within the initial
<a href="https://developers.google.com/cloud-messaging/concept-options#payload">message
payload</a> (to avoid unnecessary subsequent network access).</li>
<li>Set critical alarms with
<a href="http://developer.android.com/reference/android/app/AlarmManager.html#setAndAllowWhileIdle(int,%20long,%20android.app.PendingIntent)">setAndAllowWhileIdle()</a>
and
<a href="http://developer.android.com/reference/android/app/AlarmManager.html#setExactAndAllowWhileIdle(int,%20long,%20android.app.PendingIntent)">setExactAndAllowWhileIdle()</a>.
</li>
</ul>

<h4 id="test-apps">Testing and optimizing applications</h4>
<p>Test all applications (especially preloaded applications) in Doze mode. For
details, refer to
<a href="https://developer.android.com/training/monitoring-device-state/doze-standby.html#testing_doze_and_app_standby">Testing
Doze and App Standby</a>.</p>

<p class="note"><strong>Note</strong>: MMS/SMS/Telephony services function independently
of Doze and will always wake client apps even while the device remains in Doze
mode.</p>

<h2 id="exempt-apps">Exempting applications</h2>
<p>You can exempt applications from being subject to Doze or App Standby.
Exemptions may be needed in the following use cases:</p>
<ul>
<li>OEM using non-GCM Cloud Messaging platform</li>
<li>Carrier using non-GCM Cloud Messaging platform</li>
<li>Third-party application using non-GCM Cloud Messaging platform</li>
</ul>

<p class="warning"><strong>Warning</strong>: Do not exempt apps to avoid testing
and optimizing. Unnecessary exemptions undermine the benefits of Doze and App
Standby and can compromise the user experience, so we strongly suggest
minimizing such exemptions as they allow applications to defeat beneficial
controls the platform has over power use. If users become unhappy about the
power consumption of these apps, it can lead to frustration, bad experiences
(and negative user reviews for the app), and customer support questions. For
these reasons, we strongly recommend that you do not exempt third-party
applications and instead exempt only cloud messaging services or apps with
similar functions.</p>

<p>Apps exempted by default are listed in a single view within the Settings >
Battery menu. This list is used for exempting the app from both Doze and App
Standby modes. To provide transparency to the user, the Settings menu
<strong>MUST</strong> show all exempted applications.</p>

<p>Users can manually exempt apps via Settings > Battery > Battery optimization
> All apps and then selecting the app to turn off (or back on) optimization.
However, users cannot unexempt any application or service that is exempted by
default in the system image.</p>
