Recently, people began noticing the Facebook iOS app was draining battery life at a rapid clip. An engineer for the company just explained it was basically a big mistake on their end.
Some sleuthing led many to discover there were issues with audio sessions, which some attributed to Facebook toying with an always-on listening service. Others assumed Facebook was simply listening in on the world’s conversations.
Not so much. Facebook’s Ari Grant explained the issue:
The first issue we found was a “CPU spin” in our network code. A CPU spin is like a child in a car asking, “Are we there yet? Are we there yet? Are we there yet?”with the question not resulting in any progress to reaching the destination. This repeated processing causes our app to use more battery than intended. The version released today has some improvements that should start making this better.
The second issue is with how we manage audio sessions. If you leave the Facebook app after watching a video, the audio session sometimes stays open as if the app was playing audio silently. This is similar to when you close a music app and want to keep listening to the music while you do other things, except in this case it was unintentional and nothing kept playing. The app isn’t actually doing anything while awake in the background, but it does use more battery simply by being awake. Our fixes will solve this audio issue and remove background audio completely.
The issues we have found are not caused by the optional Location History feature in the Facebook app or anything related to location. If you haven’t opted into this feature by setting Location Access to Always and enabling Location History inside the app, then we aren’t accessing your device’s location in the background. The issues described above don’t change this at all.
Of course, the commenter who said ‘my phone died while reading this’ wins the day.