Android Oreo: How It Affects Location Updates
One of the Google’s latest and foremost update to Android OS is the Android Oreo. The first developer preview of the Oreo was launched in March. Android Oreo’s release brings a few optimizing features for the users, especially its ability to increase its battery efficiency even when operating in the background.
Usually, applications that run in the background drain out the battery faster. Background tasks consume the device’s limited resources often without the user’s knowledge. For instance, your application could be utilizing background services to keep the application up to date with that available on the server, it could be shifting tasks to the background to either unblock the UI or simply carrying out a running task in the background.
So, whatever you are doing, you will be affected by the changes in Android Oreo. One of the main reasons for bringing in this change was to restrict the background services from adversely impacting the application’s performance. So, this new addition allows you to gain a smoother experience while simultaneously ensuring that your device isn’t affected.
Let’s understand how these changes affect your Android’s performance
Maximizing background service efficiency – Your experience on the Android Oreo can be enhanced with a mechanism that restricts specific app behavior which doesn’t run in the forefront. Any app that has an active running activity is considered to be the fore whether ongoing or rested.
Implications – A functional app can be operational both in the forefront and in the background. The background app is allowed some time to create and employ its services. After that time lapse, the app becomes sluggish as the operating system ceases its ongoing services in the background.
For example, if you are using a social media application like Facebook or Instagram that checks for new posts, it cannot simply use an ongoing background service to check with the cloud as this service will be stalled even when it is not running in the front.
Location Limits – Regardless of the app’s target SDK version, the Android Oreo confines the frequency in which your application can collect locational information in the background. This means that the background apps obtain location updates only once in a while. The changes to the Location API are positive as they help the owners of the app think about how the location information is being used.
Through the notification, the app owners can communicate the value delivered to their users.Moreover, its service set-up has been redesigned to tally with the restrictions in the background services. This is a necessity for setting notifications appearing in notification log so that you can be aware of the location’s use in the background.
The location recovery changes in the background apps impact the APIs as mentioned below:
• Fused location provider – If you have an ongoing app in the background, the service determining location calculates a new location for your app, but only a couple of times every hour. When your app requests for recurrent updates on location, the scenario remains similar. In case you are using its batched version, you will receive an updated batch with an increased access to the location history. This too happens periodically.
• Geofencing – The apps ongoing in the background can receive these transition events in higher frequency than the FLP updates. On an average the reaction for a geofencing event is speedy.
• GNSSMeasurements and GNSSNavigation Messages – Whenever your app is in the hindsight, the callbacks listed to obtain outputs from GNSS Measurements and GNSS Navigation Messages cease performing.
• Location Manager – Here too the location updates are available to the apps in the hindsight sporadically. In case your app runs on a device that has the Google play services installed, you could use the FLP. You can download this from Free APKs.
• WiFi-Manager – Though API is not a befitting background location, apps could ceaselessly runs in the background Wi-Fi scanning API & access a rough location. In the Android’s latest version, this is limited to every half an hour per app.
You may note for location updates; Google clearly mentions in their documentation that this “behavior change impacts all apps that receive location updates, including Google Play services.”