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.

10 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 Incadenza · · Score: 3, Insightful
      Because you are not receiving 'a GPS signal'. You are receiving a multitude of GPS and GLONASS signals. From the time stamps and positional information encoded in these signals you then have to calculate your position. All these calculations are time-critical, so I guess they don't combine very well with power saving features.

      Why there have beeen tremendous amounts in rendering speeds and all kinds of image processing, but not in the calculation of these GPS coordinates, that is a mystery to me as well.

    2. 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.

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

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

  2. Why do they care? by Train0987 · · Score: 2, Insightful

    If iOS is designed so well then why in the hell should it matter if a user force-q1uits everything only to re-open it later? This makes me suspicious that they don't want you turning off certain things.

    1. 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.

    2. 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.

  3. 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.

  4. That's a lot of extrapolation there. by garote · · Score: 3, Insightful

    "Dozens of calculations per second" hasn't been considered computationally expensive for about _40_years_.

    The iPhone 7 contains a motion coprocessor chip that performs these calculations and tens of thousands more every second, using a vanishingly small amount of power. Positional data from wifi networks, cell towers, GPS, GLONASS, the compass, and the inertial sensors inside the phone is combined when and where available automatically. What isn't needed is powered down.

    Even if getting accurate GPS data is harder in cities, it is irrelevant, given that cities contain way more cell towers and way more wifi networks, and the iPhone knows its position from those automatically in the course of normal operation without even needing to query GPS. ... which it does anyway because the power involved is, again, miniscule. Seriously: If the phone can detect three cell towers - practically a given in any good-sized city - it knows where it is just by being a phone. Ten years ago cell towers didn't provide the necessary positional and timing information for this to be so. Now they almost always do.

    Let's all have some more humility here. Knowing something about GPS does not make us experts in the design of the most bleeding-edge mass communications tool on the planet, and/or the networks that drive it.