According to Android’s VP of engineering Dave Burke Android Oreo focuses on the “foundation and fundamentals”. His team was guided by a single question: “What are we to make sure that Android is in a great place in the next 5 to 10 years?”
A huge problem that has existed in the Android ecosystem since the very beginning is the notorious fragmentation problem. The majority of Android users will have to wait at least 6 months to get Android Oreo, or might not get it all.
At the moment of writing only 13.5% of all users has Android 7.0 or higher, that’s pretty bad compared to the 89% of iOS users already on iOS10.
Android versions fragmentation
But project Treble might be a real solution to this problem. It will make sure smartphone vendors will no longer have to modify the latest Android version for their specific hardware. Driver compatibility has always been a huge issue for vendors. Getting Android Oreo running on, for example, a Samsung Galaxy S7 normally takes 3 steps:
- Qualcomm or Samsung’s Exynos division modifies the release for the hardware.
- Samsung applies its custom theme and adds extra features.
Project Treble will help with that first step. It will modularize the Android OS away from the drivers and other hardware-specific code. This should make updating to the latest release of Android a much smoother process for the vendors.
As far as device support for Treble, the feature is a requirement for any new device that ships with Android 8.0.
Android Oreo also has major UI improvements.
Beautiful colorized notifications
There is a shiny new notification panel with colorized media notifications (personal favorite feature).They look beautiful and work for all media notifications.
The new notification screen also shows which apps are running in the background, but more on that topic further down in this blog.
In Android Oreo all 2000+ emojis have been redesigned. The old blob-style is dead and is replaced with something more Apple-y.
Not everyone is happy with this change (including me) but as times passes by I’m sure we’ll get used to it.
What I do find a positive evolution is the introduction of the EmojiCompat library. This will ensure that emojis are no longer tied to the update cycle of the Android OS but can be updated separately, resulting in a much faster update cycle.
Picture in picture
A small but useful addition to this OS is the ‘new’ Picture in Picture mode. This will be especially useful for media-rich apps such as Telenet Yelo Play. Imagine watching Game Of Thrones while following a recipe and cooking your favorite meal!
Google Maps recently got an update to take advantage of this, which you can see in the image.
Background processing in Android Oreo
Android has always been quite generous with background processing power compared to iOS. This leads to some really powerful apps, but Android’s background free-for-all also leads to battery & UI issues. Android Oreo is trying to fix this in multiple steps.
The Jobscheduler batches multiple requests together so the device can be idle for longer. With Jobscheduler you (as a developer) even have the option to delay requests until the device has Wi-Fi connection or is plugged into a charger.
Jobscheduler is only mandatory for apps targeting Android Oreo but users can force it in the settings menu, so make sure your app is prepared.
No more implicit intents
In Android Nougat the intents for new picture broadcast, new video, and connectivity change were already shut down, and now with Android Oreo almost all implicit intents are gone.
Implicit intents not only have a negative effect on battery life but also on UI performance. Before Android Nougat all apps could listen to ‘new picture’ intents, which caused massive UI lag when a user took a picture because multiple apps would be awakened at the same time.
No silent background processes
As shown in the overhauled notification panel, background processes will no longer be able to hide. Apps can still run background services if they really need to, but it requires a foreground notification.
Example of apps running in the background with foreground notifications.
Limited location & wifi scanning
In Android 8.0, Google is putting some limits on background requests. In most cases, apps running in the background will be granted location updates about every 30 minutes. Apps are still free to request as often as they’d like, but the system will just continue providing old data, and will only fire up the GPS and update the location every half hour.