Skip to main content

There's been a lot of work on Bluetooth in Android Oreo

In their Reddit AMA (Ask Me Anything) session today, the Google team takes on Bluetooth. Specifically, if Android Oreo can make it suck less.

The team is aware of all the Bluetooth errors and inconsistencies evident on many Android phones and have used a trick they learned while writing the new system elements for Android N on the Pixel.

Tim Murray: The Android Bluetooth, audio, and performance teams actually did a lot of work to improve BT audio in O. We flipped the switch internally since the most recent developer preview because we needed a little more time to make sure that things were stable, so you haven't seen the fruits of that labor quite yet.What'd we do: back during Pixel development, the perf team guessed that it's probably a good idea to make the UI-critical parts of the system as deterministic as possible to avoid random scheduler delays. Turns out yes, that's a good idea, and removing scheduler delay from the UI pipeline fixes a ton of random jank. You can see the details of all the stuff we did at https://source.android.com/devices/tech/debug/eval_perf. It worked so well for UI that we decided to do the same thing for BT audio. We could see cases where random scheduler delay would cause BT audio artifacts, so we tried working our way through the entire BT pipeline to figure out exactly what guarantees were needed where to ensure that audio quality was perfect. This removed tens of milliseconds of possible jitter per BT packet and required fixes throughout the stack, from the framework down to kernel drivers.Our testing shows that BT audio reliability is drastically better vs N because of these changes. We're happy with how it's turned out, and we hope you see the same kind of improvements.

Read the comment thread in its entirety

In "regular" speech, they simplified code for the critical UI elements so that it was more linear and the system didn't have to wait for a task to get scheduled and have its turn. Cutting out the unnecessary delay and processing is much of what makes the UI on the Pixel as fluid and lag-free as it is. Using these same techniques on Bluetooth should mean more data gets sent in the same amount of time, and less time is being spent processing it at the source. This makes for a better connection and uninterrupted stream.

As noted, this was done since the last developer beta was released, so we haven't seen it in action yet. We look forward to seeing it, along with all the other final tweaks and refinements now that Android Oreo is officially released.

Jerry Hildenbrand
Jerry Hildenbrand

Jerry is an amateur woodworker and struggling shade tree mechanic. There's nothing he can't take apart, but many things he can't reassemble. You'll find him writing and speaking his loud opinion on Android Central and occasionally on Twitter.

22 Comments
  • THat's good to hear it hasn't been released yet as part of the Preview Program because I went from stable N to O Beta 3 and my Bluetooth took a nosedive!
  • Sounds great, would also be good if they could bake accessory battery level indicators into the OS so we don't need to rely on a buggy app for that...
  • "Pixel can hopefully make Bluetooth faster, stronger, and better." Here's my vote for calling the project "Steve Austin". For youngsters, I'm not referring to the professional "wrestler".
  • We can rebuild him...
  • And that's the bottom line, cause we have the technology. Will "youngsters" even know the wrestler? He was popular when I was a kid 20 years ago... Surely he isn't still?
  • Relative youngsters, I guess.
  • Stone Cold Steve Austin. I suppose I'm a youngster at 23, but definitely remember him. Not sure of this other Steve Austin though!
  • Million Dollar Man ;)
  • Ted DiBiase ???
  • I'm 36 and that's what I thought about, Stone cold. eh
  • Bluetooth is indeed a bit poor on Android (and iOS, even with Apple's much vaunted W1 chip supposedly making it better), with the experience on Android Auto being the cause of much consternation.
  • I don't use Android Auto, but generally, Bluetooth has been working very well for me. Up until recently I carried both, and my HTC always linked before my iPhone, which I often had to connect manually.
  • As more manufacturers ditch the 3.5 mm jack, this will become even more important.
  • You say it like you want it to happen. There's no reason to do it now.
  • Well, we've been promised USB-C headphones "real soon" with their own DAC and unicorn dust. I use bluetooth in my car for answering calls, as far as I can tell it works fine for that.
  • Good because as of right now, bluetooth audio in O on my N6P is atrocious.
  • Isn't there quality control anymore? Why not test stuff and make it as best as possible before releasing it. Instead they sell us $300-$900 phones and make us beta test it.
  • I know lol it's disrespectful. Don't now if that's the right word for it
  • "Specifically, if Android O can make it suck less" love that line :)
  • The Sony Xperia Z5 I used to own was outright pathetic in regards to stable Bluetooth audio. I hope to never experience that again.
  • And just think... you'll have to buy an entire new phone or tablet to experience these improvements.. because rather than fixing the underlying problem: the way Android handles hardware abstraction and theming, we're going to fix little bits of it piecemeal that you can't actually deploy because it needs a core OS update.
  • Makes sense that they want to work on Bluetooth audio and make it better if they plan on ditching the 3.5 mm port. Not that I want them to, but if they can make it work decently, many people may complain less.