Facebook has announced a fix for its iOS app that will help reduce excessive battery drain.
The fix includes removing repeated processes running in the background of the app and how the app manages audio sessions. The issues are not caused by the optional Location History feature in the app.
To view battery drain on your device go to Settings > Battery > and scroll down to view the biggest battery drain offenders.
How to fix it
A new version of the app (42.0) released on Thursday should better handle battery usage, according to the company. It's recommended you update your Facebook app as soon as possible.
Facebook engineering manager Ari Grant offered this full explanation:
We recently heard reports of some people experiencing battery issues with the Facebook iOS app and have been looking into the causes of these problems. We found a few key issues and have identified additional improvements, some of which are in the version of the app that was released today.
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.