Originally published at: Have an iPhone? Here's why you shouldn't close apps | Boing Boing
Originally published at: Have an iPhone? Here's why you shouldn't close apps | Boing Boing
But it says the main reason is so apps don’t consume battery and take ages, when you reload them. So closing apps does not use more battery (despite this being the main point of the video) it is opening them that does that!
If I have an app I use once in a blue moon and I don’t want it open, I’ll close it, thanks. I don’t care if it takes a while to load and uses more battery next time there is a blue moon.
And I don’t think I have ever seen an app get closed after a time by iOS. Can’t swear it doesn’t happen, but when I look at open apps it always looks like all the apps I’ve opened and some of them were last opened and last used weeks ago.
I will continue the rebels fight and close all apps as I please. Take that Apple Overlords!
operating system is designed to manage open apps to optimize memory, performance, and battery charge and that I should let it do its thing
To quote K-2SO (from Rogue One (egads what a nerd am i)): “I find that answer vague and unconvincing.” At the least say: “The app will open faster when you want it again”. But who knows how well random_app is written (“Apple knows!”) and whether it can bit-rot itself into a dubious state which would thereby ‘benefit’ from being re-initialized once per lustrum or so. (“hey and i’m super paranoid about someone getting a hold of my phone and having an easier go at seeing my intermediate plans for world domination!”)
I thought this was old news. Ah yes, here it is from 5 years ago.
The beauty of iOS is that it closes the apps in the background, they only appear to still be running. It’s a great magic trick. After an app is in the background for a couple of minutes, the OS will tell that app that it is going to be killed. The app does some clean up so it can start quickly and takes a screenshot. When you go back to the app that has been killed, the OS shows the screenshot as the app reloads and puts you right back where you were.
There are some exceptions for VOIP, GPS, and music apps, but if you are force closing your apps you are wasting your time, battery, and data.
I had a big argument about this with a “genius” at the Apple Store once. In addition to not being able to solve my problem for a really confounding reason,* he insisted that closing all my apps would keep my phone running better. I tried to explain that I’m a professional iOS developer, I know that the OS was designed with this usage pattern in mind, and Apple’s guidance on this point has been clear and consistent, but he insisted that that was what he and his fellow geniuses saw. This was well after the point where the quality of hiring on the Genius Bar had starting deteriorating quite a bit.
*The problem was my GPS sensor wasn’t reporting data. I could tell because I had a third-party diagnostics utility that clearly showed no data was coming through. But Apple wouldn’t even look at it because it was a third-party app. Did Apple have their own diagnostics app that would detect the problem, you ask? No, it did not. So no service for me! (Fortunately, a last-ditch factory reset and system restore fixed the problem.)
Except for all the apps where they don’t take you back there. Then, they show you the screen shot for a seconds and completely replace it with something else. The screen shot being just wishful thinking about where you were in the app.
Along with the even worse apps, that do that but for many many seconds. Long enough that you think the app has opened and you’re seeing the real screen. But, as you try to interact with it, nothing happens, because you cannot interact with a static image.
I hate this magic trick of showing the static image while the app tries to load up and be in that same spot by the time you try to use it. I don’t think it actually works for any app I use.
You’re only wasting your time. And you’re not even wasting time, because the whole reason you closed it was because you know you’re not going to be using that app any time soon.
And often you are saving your time. Having 20 apps open at the same time is annoying if I only want to be flipping back and forth between 4 or 5.
If you knew how much goes on in the background of every app constantly monitoring you, you wouldnt use a phone in the first place.
Many years ago when I was a wee junior qa engineer I got assigned to test software running on a Sun workstation (i386, I think). The software I was testing did bad things to the environment of the machine, requiring daily reboots to return the machine to normal performance. My coworker who had been working with these machines for years would repeat often his mantra - “workstations don’t need to be rebooted.” I could and did show him the undesired behavior that would be cleared up by a reboot, but he continued to doubt that I had accurately diagnosed and solved the problem.
This reminds me of that experience - just because something is designed to behave in a certain way, and usually does, is no guarantee that it always does. I have experienced what appears to be similar behavior in iOS, more and more as the years go by - force closing an app resolving errant behavior. It’s rare and (so far) non-reproducible, but that doesn’t mean it doesn’t happen.
I think I see the problem.
As others have said, iOS generally handles all that beautifully and tends to get slightly better mileage than the average user would when micromanaging things. But as others have said, some apps manage to fuck it up anyway. So do whichever you’re comfortable with unless you’re troubleshooting or workarounding, but there’s no need for the S-word in this case.
There’s also the case that for most(?) people and most(?) apps, you probably just flushed anything significant with each app switch anyway. As in, does your phone have enough RAM to run iOS, Facebook.app and Twitter.app concurrently?
Something is fundamentally wrong with that thing, then. Tried a nuke-n-pave within the past couple years?
So how’s life for you these days without a phone? Does that ever get say, inconvenient at times?
Inconvenient how? I dont understand the quiestion…
Well for starters, if you want to talk to someone who’s not present, do you have to borrow someone else’s phone?
If you’re out and you want to know how to get somewhere, do you have to flag down someone and remember their often overly complicated directions?
If you want to take photos, do you need to remember bring your old-school camera along?
I just tired a few now, as it was even Apple apps that used to have the issue. It looks like most of the apps have cleaned up this phantom screen shot displaying that’s not really functional. They’re not loading any faster, just clearing the screen shot to a generic loading screen immediately, so you don’t try to interact with it.
I remember even something like the Music app doing this. That if it was in the background not running, it would load the screenshot to make you think it was loading super fast while under the covers it was really getting stuff ready. Then, you try to hit the play button and it didn’t work, because you were to fast and hitting a button on a static image. Then, the current state would load, maybe that same screen, hit the button again and it works, maybe a totally different screen.
It was always a psychological trick at the OS level to make you think it was loading apps faster than it really was. Playing at using the time between when you see a screen and take the first action to finish loading. It was slick when it worked, and trash when it didn’t, worse than just showing a loading screen.
That’s not the only reason – you can be someone with OCD tendencies like me who doesn’t like a bunch of suspended apps sitting in the app list. I don’t typically close apps right away (unless they are known to be buggy and don’t rehydrate well), but every week or so I’ll go through the list and close out anything not in the top 5 or so.
Yep. I’ve run into more than one occasion where I’ve had to reboot my iphone because it started acting funky, or just decided to stop taking phone calls or text messages, or making the appropriate notifications for things.
(the androids were… not much better when I still had one for a work phone- Talk about broken, but seeing three-four bars of signal on the screen and missing multiple phone calls and text messages, even though the phone is reporting back to me through the UI that Everything Is Fine? That’s a critical fail, in my opinion. My work phone needs to be, first and foremost. A PHONE. One that tells me if I have a call coming in or a text message. I don’t care what else it does otherwise. )
Heh; I was pinches fingers THIS CLOSE at one point doing a pave-n-nuke on my phone because it’s music database got quite out of sync with the master copy of my music sitting on a PC. And even now, it’ll occasionally forget that it’s downloaded the music and want to download it again, at which point I have to go through a convoluted process wherein I completely remove the album from the phone and let it re-download it from scratch, which is both annoying and time consuming at the same time. (There’s also the time where it decided to duplicate the same albums, which leaked back into the master copy- that was fun getting that straightened out…)
iOS does not provide a list of open apps, it provides a list of apps that you ran at some point and have not dragged away. Any app in that list might have already been killed so the OS could reclaim the RAM it was using and hand it off to another app.
A normal iOS app gets ten wall clock seconds to do thing in after it has been backgrounded by the user, after that it gets a SIGSTOP and it does absolutely nothing. The CPU scheduler ignores it. It consumes RAM, and it has a slot in the process table. When iOS runs low on RAM jetsamd looks at all the processes and decides which to kill to free up some RAM, and it always considers stopped processes first. If I recall correctly on iOS jetsamd uses signal 9 (SIGKILL) to inform a stopped process that it needs to go away so it will not be stopped, nor does the process get a last gasp to do anything “unclever” in.
If things are far gone enough that a running process “needs” to be killed due to RAM constraints it does actually get informed and has a brief window of time to reduce memory use (and the OS will automatically release ephemeral memory allocations for you, and I think NSCache has some interaction here…and you can register your own actions to try to help out).
So most apps only have ten seconds to bit rot in (plus the time you actually use them).
That is most. Some apps can get some background permissions, especially ones that play music for you, or accept phone-call-like things. Others can get permission to process server originated events for a few seconds per-event. Navigation apps get to run in the background as well. Unfortunately I don’t think it is actually super easy to tell what apps really get to run.
However app review does at least make sure that an app that asks for “audio app background entitlements” has some sort of audio functionality. I would prefer if anything “really running” were badged in the app list.
Sure, but you could be wrong, or the app could be so small that it doesn’t need to get killed for hours and when you do go back it is still in memory!
The goal has always been to let the user see the app and figure out what they want to do next in it…and the hope was to be loaded by the time the user actually attempts to interact. It would be nice if any touches before the app actually is ready to service the event loop caused some visible feedback, and that that was canceled when the event loop is being serviced. That way on success the illusion is perfectly preserved (and you get extra time to remember exactly what button you are ready to tap and aim at it…), and on failure you don’t have to keep guessing when the app is actually ready.
Every week or so isn’t going to cost you enough battery to notice. So if it brings you joy, go for it.
More over, for anyone that does this with whatever frequency, and actually enjoys it if you aren’t running out of power you don’t need to care about it. If you don’t enjoy it you can stop because you aren’t getting any real benefit.