Friday, July 21, 2017

When to Force Quit iOS Apps

John Gruber:

The single biggest misconception about iOS is that it’s good digital hygiene to force quit apps that you aren’t using. The idea is that apps in the background are locking up unnecessary RAM and consuming unnecessary CPU cycles, thus hurting performance and wasting battery life.

That’s not how iOS works. The iOS system is designed so that none of the above justifications for force quitting are true. Apps in the background are effectively “frozen”, severely limiting what they can do in the background and freeing up the RAM they were using. iOS is really, really good at this. It is so good at this that unfreezing a frozen app takes up way less CPU (and energy) than relaunching an app that had been force quit. Not only does force quitting your apps not help, it actually hurts. Your battery life will be worse and it will take much longer to switch apps if you force quit apps in the background.

I agree that force quitting is usually unnecessary and can actually hurt battery life. However, I think the “myth” persists because there are some cases where it really does help. (In the same way, in theory a Mac should keep working without rebooting, but in practice you sometimes have to restart to free up memory, get the OS to recognize something that you’ve plugged in, or fix a system service that has stopped working.) Unfortunately, people assume that if force quitting occasionally fixes a problem, doing it regularly is even better.

Bryan Irace (via Brian Donohue):

All of the new multitasking support—normally working its wonders to keep apps updated in the background without draining your battery—comes to a screeching halt for any apps that you’ve swiped out of the app switcher.

Removing an app from that switcher not only terminates any background operations that are currently occurring, but also prevents any that the OS may have permitted in the future. This means that the app won’t be woken up again to perform background fetches, and won’t receive anymore silent push notifications from the server. In order for these new forms of backgrounding to resume, you’ll have to explicitly launch the application again from your home screen.

In summary, iOS 7 makes true what many thought was already the case to begin with: that force quitting apps can help to save scarce resources such as battery.

Force quitting can also stop unwanted cellular and GPS use and works around a Spotlight bug.

So don’t try to save battery life by force quitting all the apps you aren’t using. But if an app is misbehaving or you specifically want to cut it off from using certain resources in the background, by all means do so.

Gruber again:

In those cases force-quitting the apps really did help, and I see no reason to trust Facebook. So if you want to keep force quitting Facebook, go right ahead. But don’t let one bad app spoil the whole barrel. The Battery section in the iOS Settings app can show you which apps are actually consuming energy in the background — tap the clock icon under “Battery Usage” and don’t force quit any app that isn’t a genuine culprit.

Previously: The Force Quit Fallacy, Background Data and Battery Usage of Facebook’s iOS App.

Update (2017-07-21): Edward Marczak:

This is a hopeless battle. When I see (non tech) people do this, and ask why, they say they like to “clean up”. Nothing to do with battery.

You can explain it all day, however you like. it’s an “emotional” issue for most. They don’t want to see all of that crap in the switcher.

Update (2017-07-27): Matt Massicotte (tweet):

I’m going to take a pretty unpopular stance on force quitting apps. But before I get to that, I have to say that I worked at Apple on iOS battery life for a number of years. Of course, I’m not going to use any insider info here — it’s all stale anyways. What I am going to try do is make the case that:

  • Force-Quitting is a rational thing to do
  • Force-Quitting is a behavior enabled by Apple
  • Force-Quitting isn’t something you should care about

[…]

It takes a long time to build trust, and only one transgression to destroy it. It doesn’t matter that iOS is excellent at managing background apps. It only matters that a backgrounded app could cause a problem. In fact, this possibility is real enough that Apple highlights “Background Activity” in the battery usage screen.

[…]

The task switcher is made by Apple. The backgrounding APIs and policies are made by Apple. Apps are inspected by Apple before being put in the store. This is completely Apple’s responsibility and within their power to improve. They have just chosen to present this simplified view. In turn, some users feel compelled to turn the only knob that Apple has provided.

Update (2023-05-22): Mysk:

#iOS17 is rumored to include a “close all” button in the app switcher view. Apple engineers have repeatedly said that closing background apps won’t improve performance, hence no need for such a button. But a button that quickly clears all recently used apps is a #privacy feature

Update (2023-06-02): Steve Troughton-Smith:

Fix the UI; I don’t care if it actually quits, force quits, or does nothing under the hood. But moaning about people who do (spoiler: everybody. Everybody does this.) is not the way to go. You can’t build a UI that leaves trash everywhere it goes then heckle people who go out of their way to clean it up.

Mark Hughes:

Also everyone who’s ever looked at the app lifecycle diagram, knows the only way to get back to initialize state, which you sometimes need for logins, etc., is to force quit. Apple doesn’t tolerate actual quit buttons (some games do crash out and haven’t been banned yet).

Jerry Jones:

It’s not totally crazy to think that killing them all helps battery. It does remove an apps ability to run in the background until re-launched.

Update (2023-06-13): Thomas Clement:

This long standing bug in the OS is super annoying, I have to always remember to kill reddit and mastoot after I use them because the OS might not pause them when it should.

4 Comments RSS · Twitter

For me, it's somewhere between a "can't stand clutter" issue and a practical issue—it's faster and easier to switch to the app I want if there are fewer open apps. I leave the apps that I refer to often/all day open (Health, Notes, Weather, and, on weekdays, my broker's app) and quit anything else when I finish a task or don't think I'll need it again for quite some time. This essentially assures all apps are visible in the switcher, no swiping needed (if I'm not on the Home screen, then possibly one swipe needed), and can quickly be foregrounded. (There are, though, a few apps that I quit immediately even if I'll use them again in a reasonable amount of time because they've proven to be poor background processing/network/location citizens—Facebook is apparently not the only one in this category.)

Adrian O'Connor

If you have spotty network connectivity, some (possibly badly written) streaming video apps (like Eurosport) don't recover well, so when the video freezes I instantly go for a force kill...

"it’s an “emotional” issue for most. They don’t want to see all of that crap in the switcher."

I see this as a deficiency in Apple's app-switcher design. Everyone I know wants to 'clean up' their dock, especially if they use a lot of apps.

There has to be a better way to show normal people launched apps. How about a (1) text-only list option and/or (2) icon-only list option? There's an Android app called Dock4Droid that's a mash-up of app switcher and Mac dock that's intriguing to me.

Sorry, they want to clean up their *switcher*, not dock.

Leave a Comment