diff --git a/docs/html/distribute/essentials/quality/billions.jd b/docs/html/distribute/essentials/quality/billions.jd
index 2e14b37e393aa..355b272353532 100644
--- a/docs/html/distribute/essentials/quality/billions.jd
+++ b/docs/html/distribute/essentials/quality/billions.jd
@@ -220,6 +220,13 @@ page.image=/distribute/images/billions-guidelines.png
Android training on Managing Network
Usage.
+
On devices powered by Android 7.0 (API level 24) and higher,
+ users can turn on the
+ Data Saver setting, which helps minimize data usage. Android 7.0
+ extends {@link android.net.ConnectivityManager} to detect Data Saver
+ settings. For more information about this feature, see
+ Data Saver.
+
Detect network changes, then change app behavior
@@ -257,9 +264,11 @@ page.image=/distribute/images/billions-guidelines.png
registerReceiver to receive this broadcast. After receiving
the broadcast, you should reevaluate the current network state and adjust
your UI and network usage appropriately. You should not declare this receiver
- in your manifest, as it will no longer function beginning with Android N.
- For more details see
- Android N behavior changes.
+ in your manifest, as that feature is unavailable in Android 7.0 (API level 24)
+ and higher.
+ For more information about this and other changes in Android 7.0,
+ see
+ Android 7.0 Changes.
Related resources
@@ -490,14 +499,18 @@ page.image=/distribute/images/billions-guidelines.png
smaller file sizes than its PNG and JPG counterparts, with at least the
same image quality. Even at lossy settings, WebP can produce a nearly
identical image. Android has had lossy WebP support since Android 4.0 (API
- level 14: Ice Cream Sandwich) and support for lossless / transparent WebP since Android 4.2 (API level 17: Jelly Bean).
+ level 14: Ice Cream Sandwich) and support for lossless / transparent WebP
+ since Android 4.2 (API level 17: Jelly Bean).
If you have many large images across multiple densities, consider
using Multiple
APK support to split your APK by density. This results in builds
targeted for specific densities, meaning users with low-density devices
won’t have to incur the penalty of unused high-density assets.
- A detailed guide on reducing your APK size can be found in
+ For more information about reducing APK size, see
+ Reduce APK Size and
+ Shrink Your Code and Resources. In addition, you can
+ find a detailed guide on reducing APK size in this
series of Medium posts.
Reduce code size
@@ -607,6 +620,19 @@ requests.
- Your app should do minimal activity when in the background and when the
device is running on battery power.
+ - Sensors, like GPS, can also significantly drain your battery. For this
+ reason, we recommend that you use the
+
FusedLocationProvider API. The
+ FusedLocationProvider API manages the
+ underlying location technology and provides a simple API so that you can
+ specify requirements—like high accuracy or low power—at a high
+ level. It also optimizes the device's use of battery power by caching
+ locations and batching requests across apps. For more information about the
+ ideal ways to request location, see the Getting the Last
+ Known Location training guide.
+
- Wake
locks are mechanisms to keep devices on so that they can perform
background activities. Avoid using wake locks because they prevent the
@@ -623,18 +649,9 @@ requests.
network connectivity, device charging state, retries, and backoff. Use
GcmNetworkManager to perform non-essential background activity
when the device is charging and is connected to an unmetered network.
- - Sensors, like GPS, can also have a significant drain on the battery. The
- recommended way to request location is to use the FusedLocationProvider API.
- The FusedLocationProvider API manages the
- underlying location technology and provides a simple API so that you can
- specify requirements—like high accuracy or low power—at a high
- level. It also optimizes the device's use of battery power by caching
- locations and batching requests across apps. For more information on the
- ideal ways to request location, see the Getting the Last
- Known Location training guide.
-
+ - For more information on how network activity can drain the battery, and
+ how to tackle this issue, see Reducing Network Battery Drain.
Benchmark battery usage
+ An efficient view hierarchy can speed up your app without increasing the
+ app's memory footprint. For more information, see
+ Performance
+ and View Hierarchies.
-If anticipated start speed is low, use launch screen
-on first load
+If anticipated start speed is low, use launch screen on first load
- The launch screen is a user’s first experience of your application.
Launching your app while displaying a blank canvas increases its perceived
@@ -753,6 +773,9 @@ on first load
- For more information on implementing splash screens, see the
Launch screens section of the Material Design spec.
+ - The best way to deal with slow start speeds is not to have them. Launch-Time Performance provides
+ information that may help you speed up your app's launch time.
UI best practices
Related resources