1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
<html devsite>
<head>
<title>Power Management</title>
<meta name="project_path" value="/_project.yaml" />
<meta name="book_path" value="/_book.yaml" />
</head>
<body>
<!--
Copyright 2017 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.
-->
<p>Battery life is a perennial user concern. To extend battery life, Android
continually adds new features 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>
<a href="/devices/tech/power/app_mgmt#app-restrictions">App Restrictions</a>.
The platform can suggest apps that negatively affect battery life, so
that users can choose to restrict those apps from consuming resources. Apps
are not background restricted by default.
</li>
<li><a href="/devices/tech/power/app_mgmt#app-standby">App Standby</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>
<a href="/devices/tech/power/platform_mgmt#doze">Doze</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 and later also enables Doze to
trigger a lighter set of optimizations when users turn off the device
screen yet continue to move around.
</li>
<li>
<a href="#exempt-apps">Exemptions</a>. Preloaded system apps and cloud
messaging services are typically exempted from App Standby and Doze by
default. App developers can use Intents to apply these settings to their
apps. Users can exempt apps from App Standby and Doze power-saving modes
in the Settings menu.
</li>
</ul>
<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>Device manufacturers using a Cloud Messaging platform other than
<a href="https://firebase.google.com/docs/cloud-messaging/" class="external">Firebase
Cloud Messaging</a> (FCM).</li>
<li>Carrier using non-FCM Cloud Messaging platform</li>
<li>Third-party application using non-FCM 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 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 <em>Settings > App &
Notifications > Special app access > Battery Optimization</em>. 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 <em>Settings > App & Notifications >
<var>APP-NAME</var> > Battery > Battery Optimization</em> 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>
</body>
</html>
|