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.
Here's some more details...
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.
Facebook is quick to note that the problems are not caused by the Location History feature or anything related to location. It says it's committed to improving battery usage and that users should already seem improvements in the version released today.
You can download Facebook from the App Store for free.