Slashdot Mirror


Public Service Announcement: You Should Not Force Quit Apps on iOS (daringfireball.net)

John Gruber, writing for DaringFireball: 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. [...] In fact, apps frozen in the background on iOS unfreeze so quickly that I think it actually helps perpetuate the myth that you should force quit them: if you're worried that background apps are draining your battery and you see how quickly they load from the background, it's a reasonable assumption to believe that they never stopped running. But they do. They really do get frozen, the RAM they were using really does get reclaimed by the system, and they really do unfreeze and come back to life that quickly.

16 of 285 comments (clear)

  1. Baloney by Anonymous Coward · · Score: 4, Insightful

    Baloney. I have heard this argument so many times from OS developers. What does "effectively frozen" and "severely limited" mean? They are either frozen or they aren't. If they aren't frozen then they are taking up resources.

    1. Re:Baloney by jafiwam · · Score: 5, Informative

      Or so they say

      In practice, people who didn't know how to quit apps had shitty battery life... which stopped when they started closing apps.

      Maybe newer iOS versions are better, however it has been very obvious through experimentation that closing apps helps performance.

    2. Re:Baloney by Quirkz · · Score: 5, Interesting

      5 or so years ago, it was definitely clear that leaving apps open was causing battery drain, and I obsessively closed everything as soon as I was done.

      About a year ago I heard someone from Apple suggest it wasn't necessary any longer, and for the most part I leave things up and it seems to be true that they're not tremendous battery hogs.

      Except Google Maps, of course. That burns through something like 1% of my battery every minute, and definitely keeps working even in the background. I will look stuff up, kill it, and repeat as necessary many times over rather than leaving it open any longer than I need to.

    3. Re:Baloney by aergern · · Score: 4, Informative

      You can turn this behavior off in the settings so it will not continue running and using GPS when not in the foreground. So check the settings and be free! :D

      --
      Tell me what you believe...I'll tell you what you should see.
    4. Re:Baloney by IcyWolfy · · Score: 4, Informative

      Because:
      1. it needs to power a separate radio to receive the GPS signals.
      2. GPS sends out almanac data (rough position information) and ephemeris data (orbital information)
      3. Your device needs to calculate the tragetory and position, and lock on to 4 satellites (3 for psotion, 1 for time) using this data
      4. You device then needs to calcutate the total time-delta, to the nanosecond, between the time each satellite sends a message, and when you receive it.
      5. ** Using this time delta, you can calculate your exact distance to each satellite.
      6. Solve three overlapping sphere equations to triangulate your position at the ground.
      7. Solve another equations using 4 satellites to calculate the equivalent atomic clock time.

      Your device is processing dozens of messages per second, to keep the locks on each GPS satellite, to switch active satellites as you move out of view of any given satellite, and to keep your calculated position, and delta position (speed) all in sync.

      It's very computationally expensive, and thus takes power to operate the chipset doing all this work.
      In addition, if you're in a city, without clear line-of-sight to enough satellites, it can boost the power and try to make sense of fainter data, or try harder to calculate which satellites are in theory overhead, and then to obtain a lock on each satellite and it's orbital trajectory and speed. Net result: GPS uses more battery in cities than in countryside.

       

    5. Re:Baloney by PIBM · · Score: 5, Insightful

      My old hand held gps could run over 60 hours tracking my position, recording it along with the precision, number of satellites used to receive it, and some other data to my SD card, sometime displaying the local map and my recent track, all while only using 2 1.5V 1600mAh batteries, using 12 years old technology. iPhones & android devices GPS positionning is much less precise than this old device, and use much more power. WTH.

    6. Re:Baloney by Darinbob · · Score: 4, Insightful

      The purpose to kill the apps may not be to save battery life, but to limit spying.

    7. Re:Baloney by fnj · · Score: 4, Informative

      Utter bullshit. A GlobalTop FGPMMOPA6H standalone complete GPS module (as used in, e.g., the Adafruit Ultimate GPS breakout) draws 25 mA at 3.3 v during acquisition, and 20 mA at 3.3 v while tracking. And it does all those same things you list. "Very computationally expensive", my ass. All the analog and digital stuff is run off a single tiny MediaTek chip MT3339, which includes a radio and an ARM7EJ-S core. The processor clock runs at no more than 98 MHz.

      If you have a 2000 mAh battery, it ought to run the entire GPS load, minus display mapping, for 100 hours. You shouldn't be able to detect any effect at all in "minutes".

    8. Re:Baloney by jmauro · · Score: 4, Informative

      The calculations aren't processor intensive, they're really quite easy. The battery drain is from the radio receivers, which are amped up to distinguish the really weak GPS signal from all the noise with the really small antennas built into the phone.

  2. Distinctly untrue, despite the hype by kaka.mala.vachva · · Score: 5, Interesting

    I have an iphone 6s, and I see the location icon come on when I check the weather (using the native app), because it is set to reporting local weather. Mostly, it goes away in a bit - but I have seen the icon stay on many times even when I have moved away from the weather app. I have to manually kill the weather app to make the location tracking go away.

    1. Re:Distinctly untrue, despite the hype by 93+Escort+Wagon · · Score: 4, Informative

      This is the number one reason I force quite an apps. A bunch of location-using apps I use must be force-quit in order for them to stop using my location.

      Go to Settings -> General -> Background App Refresh and disallow any applications which you don't want to let run in the background... which is probably most of them.

      It's a bit irritating that, for most apps, running in the background is enabled by default. There are very few which really need to do that.

      Oh, and you may need to occasionally do that again. I've seen all those toggles get re-enabled after certain updates.

      --
      #DeleteChrome
  3. Re:Why do they care? by TFlan91 · · Score: 4, Insightful

    It's not saying they don't want you to. It is saying that the reason you are doing it, may not be as valid as you might expect.

  4. Re:Why do they care? by R3d+M3rcury · · Score: 4, Insightful

    If you're killing apps to save battery life, you're probably right--it's not making much of a difference.

    If you're killing apps because they insist that they need to know where you are--even when they are not the foreground app--then it's certainly making a difference.

  5. Why can't the user have control? by jma05 · · Score: 4, Insightful

    I use an Android phone. Aside from some small, personal apps I wrote for myself a while ago, I am not really an app developer and don't have an in-depth understanding of the issues.

    But my annoyance is this: there are apps that I only use once a month and others not even that. I definitely don't need them running in any form, even with the lightest footprint and some of them are consuming power. They keep coming back the instant I killed them. Why do the modern OS vendors assume they know best? I would like to have control over the execution policy, not the app developer. In Windows, I could remove entries from the startup, task scheduler etc. In Unix, I have full control. Why can't I do that in modern operating systems? Yes, I am aware there are startup editors in Android. I found them unreliable or inadequate.

    I as the user, have much better context information on how my apps need to run. Sure, people can shoot themselves in the foot, but provide a means to restore defaults when custom configurations aren't working, but don't take away control altogether.

    Every commercial app developer wants his app to be ready to go. In Windows that meant far too many developers would add their apps to system startup. With enough such entries, it made a large proportion of consumer machines to go sluggish by swapping and many systems were upgraded just because the users did not know how to clean up their startup items. Sure, the modern systems prevent all that, but that does not mean I should not have any control. The lesson here is that developers cannot be trusted to be respectful of shared system resources (and so the OS takes over more control), not that the users cannot be trusted. At least, let the apps be better controlled in developer mode. It took what 5 or 6 versions before Google started allowing users to rescind permissions? I want more permissions (and with better granularity) to rescind.

    Well, that was my rant. If I missed any obvious solutions, enlighten me.

    1. Re:Why can't the user have control? by BasilBrush · · Score: 4, Insightful

      This is about iPhones, not Androids. They work completely differently as regards background apps.

  6. Measure it by ricky_charlet · · Score: 4, Interesting

    settings->battery. Scroll to bottom for a report of how much battery each app has used. View it as last 24 hours, or as last 7 days. and FYI, (for me) Apple Mail, when connected to a corporate exchange server, sucks battery in the background. 30% overnight iphone 6s IOS 10.3