Posted past times Madan Ankapura, Product Manager, Android
This is the offset inward a serial of spider web log posts that outline strategies together with guidance inward Android amongst regard to power.
Your users attention a lot virtually battery -- if it runs out likewise quickly, it agency they can't usage your apps. Being a proficient steward of battery ability is an of import operate of your human relationship amongst the user, together with we're continuing to add together features to the platform that tin assistance you lot hit this.
As operate of our announced Play policy virtually improving app safety together with performance, an app's target API marking must last no to a greater extent than than ane twelvemonth older than the electrical flow Android release. Keeping the target API marking electrical flow volition ensure that apps tin conduct maintain payoff of safety together with functioning enhancements offered inward the latest platform releases. When you lot update your app's target API level, it's of import that you lot evaluate your background together with foreground needs, which could conduct maintain a pregnant deport upon on ability & performance.
Past releases of Android included a issue of features that helped grapple battery life better, like:
- Job Scheduler inward Android 5.0 Lollipop, which allows deferring piece of work
- Doze together with App Standby inward Android 6.0 Marshmallow, which disables network access together with suspends syncs together with background piece of work - when device or apps are unused for a prolonged period.
- Doze improvements inward Android 7.0 Nougat, which applies a subset of Doze restrictions when the hide is off together with non stationary.
- Background limits inward Android 8.0 Oreo, which forbid background services together with throttle place updates.
In Android ix Pie, nosotros made farther improvements based on these iii principles:
- Developers desire to construct cool apps
- Apps demand to last power-efficient
- Users don't desire to last bothered to configure app settings
This agency that the OS needs to last smarter together with arrange to user preferences piece improving the battery life of the device. To address these needs, nosotros conduct maintain introduced App Standby Buckets, Background Restrictions, together with improved Battery Saver. Please exam your app amongst these features enabled on a device running Android ix Pie.
Battery Saver together with Doze operate on a device-wide level, piece Adaptive Battery (app standby buckets powered past times a Deepmind ML model) together with background restrictions operate on a per-app basis. The diagram below helps empathize when a scheduled piece of work volition run.
As you lot update your apps to target Oreo or above, delight review this checklist together with follow the below tabular array for background piece of work
Currently Using | Porting to Oreo |
JobScheduler | JobScheduler |
Firebase JobDispatcher | Firebase JobDispatcher |
Background Service | Jobscheduler |
Foreground Service | Foreground Service amongst activeness to STOP service |
Note: when the WorkManager API becomes stable, nosotros volition last recommending WorkManager for most of these usage cases
We recommend the next strategy given the importance for app developers to invest inward the correct pattern patterns together with architecture:
- Do the needed piece of work when the user is actively using the app
- Make whatever work/task that is done inward the background deferrable
- Use foreground services precisely render an activeness inward the notification then user tin halt the foreground service
Similarly, other OS primitives similar alarms, network, together with FCM messages also conduct maintain constraints that are described inward the developer documentation on power-management restrictions. You tin larn to a greater extent than virtually each of these features via Google I/O presentation, DevByte together with additional power optimization developer documentation.
We volition last publishing a serial of pattern pattern guidances inward the upcoming weeks. Stay tuned.
Acknowledgements: This serial of spider web log posts is inward articulation collaboration amongst Android Framework together with DevRel teams.