The Truth About Background Tasks
|When Windows Phone first launched it brought us Live Tiles, which were updated in one of two ways; a developer setup a “push” server which would feed information to your phone on a schedule or on demand, or a task was scheduled on your phone (in the background) and “pulled” from the Web, as often as once per hour or as seldom as once per day. While push Live Tiles are still a working option, Background Tasks have replaced pull Live Tiles, giving users a simple Settings screen to manage tasks. Background Tasks can run an Internal (only interacts with your device) or External (calling out to the Internet) task as often as once every 30 minutes or as seldom as once per day, just like the option it replaced. If you don’t touch a Live Tile for 14 days, the Background Task will automatically be disabled. Background Tasks work fine for news or weather apps, but have limited use for updating sports scores or stock prices on a Live Tile, things that require more frequent updates. Another important function of Background Tasks is to allow media apps to continue to run in the background when an app no longer has the focus. These apps typically disable their Background Task as soon as the app has been closed (removed from the Multi-Task view), so they don’t really have an indirect impact on battery life.
It is troubling that many users disable most or all of their Background Tasks in an effort to preserve battery power. After all, Live Tiles are one of the primary features of Windows Phone. While there may be a few rouge apps out there that can somehow drain excess battery (I doubt this though as Microsoft has the feature pretty closed down), the vast majority don’t have much of an impact on battery drain. The Lumia 900, my test device, has a limit of nine Background Tasks (I have read about other devices with different limits, but can’t verify this information). Let’s find out how much battery power these Background Tasks really consume.
To recap, my phone (Lumia 900) is setup with the following:
- – Data (mostly LTE) and Wi-Fi ON – Bluetooth OFF
- – 8 Active Background Tasks (3 Internal)
- – Location Services ON
- – 5 Email accounts syncing (3 push, 1 every 15 minutes, 1 every 2 hours)
- – Phone set down and untouched for a 8 hour period
My previous baseline tests have resulted in an 18%, or 2.25% per hour, battery drain in an overnight 8 hour test. For clarification, my Background Tasks include; USA Today, Fox News, Weather Channel, Mehdoh, Urban Dictionary, Network Dashboard, Clever-To-Do and Battery Meter (a homebrew app set to update every 10 minutes).
Test 1 – To prepare for the test I disabled all of my Background Tasks and performed a soft reset to be certain that nothing was hung up in memory. Results: 99% at 12:21AM – 77% at 8:21AM – Difference: 22% or 2.75% per hour. Wait a minute. Shouldn’t I be using less battery with Background Tasks disabled? Not sure how or why this happened, but it is why I always perform multiple tests. BTW, for those following my “Truths” series, there were no app updates waiting for me in the morning. Another BTW, I actually ran a test the previous night but received two phone calls/one voice mail (rare for me) about 30 minutes before the end of the test (I didn’t answer either) and declared the test invalid. Total drain was 18%.
Test 2 – Setup the test in exactly the same way. Results: 99% at 12:09AM – 85% at 8:90AM – Difference: 14% or 1.75% per hour. That’s more like it. A drop of about 4% over 8 hours. This is about what I expected. Oh, and I did have one app update waiting in the morning which sort of kills the Marketplace update = battery drain theory.
Test 3 – Same settings again. Results: 98% at 12:55AM – 84% at 8:55AM – Difference: 14% or 1.75% per hour. How I like consistency. For those keeping count, 3 app updates waiting in the morning (I have a lot of apps installed, hence a lot of updates). That first test is still bugging me though, so think I better do this one more time.
Test 4 – Same again. Results: 99% at 12:27AM – 84% at 8:27AM – Difference: 15% or 1.875% per hour. Close enough for me. BTW, another update waiting in the morning.
So there you have it. About 4% over an 8 hour period or 0.5% per hour to run 8 Background Tasks. Sure, they drain your battery but isn’t that what chargers are for. Now, there may be times when you really need to conserve your battery, like while out camping or during a hurricane, but otherwise why not enjoy life a bit and splurge with some Background Tasks. Try it, you’ll like it.
This information sort of validates my Battery Saver test which showed an 8% difference (remember Background Tasks were 4%) over 8 hours, with email, push Live Tiles and Background Tasks (external only) disabled. Next up, disabling all email accounts to see how close it ties to the Battery Saver numbers.
Fourth Truth – Background Tasks do drain a little of your battery; with 8 active Background Tasks, typically about 0.5% per hour or 8% drain over the course of a 16 hour day.
This does depend on the task type. Dev’s should be using more Resource Intensive tasks, not just Scheduled Tasks.
Good point. I figured my 8 tasks were representative of a typical user. The two news and weather app are surely fetching information every 30 minutes. Urban Dictionary on the other hand, only changes it’s tile once a day, although based on my experience with it I do believe it checks to make sure the tile is up to date more frequently (ever 30 or 60 minutes). Mehdoh is checking every 30 minutes but it seldom has any info that would update the tile (I don’t get very many mentions). Network Dashboard is only doing an internal check to verify WiFi and Data status. Clever-To-Do is checking the apps on-device database for upcoming tasks, so not much going on there. And although Battery Status is running every 10 vs. 30 minutes, logging the current battery percentage most likely take minimal resoures.
My understanding is that each app/task only has 30 seconds to complete, so there are some limitations to prevent excessive connect time. But if you had 9 Background Tasks that all utilized close to the 30 second limit to pull down data, your results could be a little different.
Great article Jim. Thanks for spending the time on it.