Jump to content
xenadu

PSA: Clearing your app drawer is a waste of time and doesn't close apps

Recommended Posts

Reporting from another thread because we need to stamp out this huge waste of time!

iOS automatically manages apps. It forces them to shutdown after ten minutes in the background (the app has to explicitly ask for this grace period, the default is less than a minute before the OS kills the app for being rude).

If there is plenty of RAM, it will leave them in memory in suspended-animation so switching back is instant, but they aren't running and can't waste battery life. If another app needs the RAM, it dumps them automatically. Only apps currently playing audio, performing navigation, or VoIP can run continuously past the 10 minute mark.

Push notifications, iCloud sync, even listening for incoming VoIP calls... These are all handled efficiently by the OS on behalf of the apps so the apps themselves don't need to be constantly running wasting battery life. Apps cannot install background services (ala Android) so they can't waste your battery.


The app drawer is just a list of apps used recently. The apps may be running, may be suspended, or may already be completely shutdown and unloaded. There is no indicator of the status because you aren't meant to manually manage them. Go ahead - restart your iPhone and you will see the app drawer is still populated on a freshly booted OS with no apps running, because it is just a list of recently used apps, not a list of running apps.

The only thing the app drawer has to do with running apps is if you tap the X, and the app just so happens to be running, iOS will ask the app to close. That's it. iOS also automatically kills apps that stop responding for a certain period of time.


I see now why Apple tends not to provide lots of dials and knobs to fuss with. People make up nonsense about what they do, then perpetuate cargo-cult actions like an information virus, causing thousands (millions?) of people to waste time in their day doing stuff like clearing the app drawer.

Save your fingers, stop messing with the app drawer unless you need to force one specific app to restart for some reason.

 

 

edit: A quick update. There is a trick some VoIP apps can use where they can ask the OS to wake them up to send a keep-alive to the server. It appears Facebook messenger uses this to wake up every 15 minutes, which seems a bit ridiculous to me but there you go... so if the app is a VoIP app, it can affect battery life if the developers are stupid about it. Location apps and audio apps are the only other two, though location apps that only request coarse location data don't impact battery as that comes from the cell tower for free.

 

There are some changes coming in iOS 7, as detailed in a post further below, but the concept of the OS managing it for you remains - apps requesting to be woken for background downloads will be woken up when the OS decides you have a good cell signal or the device was turned on by the user for something else anyway, they can't just sit around wasting battery all day. Further, apps that aren't used very often will not have their requests honored... only apps that you use regularly will be allowed more frequent wakeups.

Share this post


Link to post
Share on other sites

If what you're saying is correct (I can't say that you are because I've never owned an iPhone) I imagine people closing their apps in the app drawer creates a psychological pseudo effect that makes them believe they are saving battery life, in turn making them much happier with their products. 

 

Just as a random note, why does this seem to bother you so much? You don't have to clear it out, but thanks for the info.

 

 

-Luis

Share this post


Link to post
Share on other sites

The same thing is actually completely true on Android with its "recently used apps" page (hold down home on your S3, for example).

 

And yes, tons of people believe that in order to save battery, they must clear those out, which mostly does nothing. Or run "task killer" apps that waste more battery than they save. On Android at least, managing your wakelocks and uninstalling unneeded apps is a way to save battery that actually works.

 

That being said, the people I hear this from also tend to believe that the white iPhone has a faster processor than the black...

  • Like 1

Share this post


Link to post
Share on other sites

I kind of disagree with this philosophy. I know that my battery life takes a dive with certain apps running in the background. The most notorious one is the navigation app Waze. It constantly tracks my location. Another notorious one is Okcupid.

Share this post


Link to post
Share on other sites

Not true. I have to occasionally close apps on my iPad 2 when things get sluggish. I've been fine on my iPhone 5, but it has more RAM so it takes longer to have an issue.

 

There are utilities that let you see your current memory usage. Check them out.

Share this post


Link to post
Share on other sites

I kind of disagree with this philosophy. I know that my battery life takes a dive with certain apps running in the background. The most notorious one is the navigation app Waze. It constantly tracks my location. Another notorious one is Okcupid.

All GPS apps are notorious for leaving the GPS enabled after you exit the app. It's annoying.

 

But I leave apps on in the background all the time and never force close anything except Maps and Google Maps. And other than GPS enabled apps, I've never seen severe battery drain as a result of leaving apps open in the background.

 

 

Sent from Josh's iPhone 5 using Tapatalk 2

Share this post


Link to post
Share on other sites

I'm an iOS developer so I don't need to install any apps to track memory usage, I debug the phone with Instruments and LLDB (among others).

 

I forgot to include GPS apps in the list of apps that can run in the background, my bad.

 

The point still stands: it is mostly a waste of time.

Share this post


Link to post
Share on other sites

Probably true for 99% of people running stock iOS 6.x on a device with 1GB RAM and an X series processor. And, on stock iOS, there is no easy way to tell for certain if it is in the tray for historical reasons or actually paused and sitting in RAM...

 

However I selectively kick apps out of RAM on a regular basis. But, I guess it is one of those things where, you're right (referring to OP), unless you aren't -- but it is almost guaranteed that in conditions where you are wrong, the user is a heavy power user or whatever, and pretty aware of why you're wrong...

Share this post


Link to post
Share on other sites

Oh: and yes, it does close the app, with a few exceptions. Some iOS ones will persist infinitely, like Mail or Phone etc. though it does still kill it... It just comes right back. When my Mail app does something to piss me off (frequently: "message not downloaded" BS on flaky connections, with no refresh method) I kill it to fix that. Non-Apple apps that persist to different degrees include Skype (pretty nearly as persistent as the Apple ones, if you are logged in), Facebook, and strangely, the Chive app, both of which I uninstalled because their persistence makes me somewhat suspect shenanigans are afoot.

 

Anyway, as was said before, except for shady or just poor/lazy usage of some GPS APIs, any battery impact is so minuscule it would be basically impossible to measure, paling in comparison to signal strength effects, backlight levels, and probably even the little power used by manipulating the touch layer itself to close out apps...

Edited by Txmtx

Share this post


Link to post
Share on other sites

This topic should IMHO be re-titled. Clearing apps out of the app drawer is not a waste of time. There are lots of apps which do in fact create enough activity in the background to affect battery life. Skype and Facebook are but two examples. VoIP, chat and messaging apps in general tend to want to run in the background to keep their socket connections back to the server open. Yes, in theory they could all rely on push notifications to know when messages come in but in practice I think a lot of them only use that as a fallback for when the app is not running for some reason. And since the apps are using the network you get a bit of a double whammy because not only are they using CPU time but they are also bringing the radio up as well. So do I bother clearing out Notes and Calculator from the app drawer? No. But if I'm concerned about saving battery I do make sure Sykpe, Palringo, etc. are killed off.

  • Like 2

Share this post


Link to post
Share on other sites

If what you're saying is correct (I can't say that you are because I've never owned an iPhone) I imagine people closing their apps in the app drawer creates a psychological pseudo effect that makes them believe they are saving battery life, in turn making them much happier with their products. 

 

-Luis

 

THIS is entirely the truth.

 

I work in retail as a technician. At least 75% of what I hear from customers about their phone "issues" is psychological and usually based on a misconception they got from somewhere or someone else. Task Killers, etc. usually just cause more harm than good now on Android phones as the system is smart enough to handle it in the background. iOS doesn't have the history of ingraining about task killers before it was built-in since previously it wasn't capable at all of multitasking beyond music or a phone call.

 

 If you NEED that psychological idea of killing an app, you can with the recent apps list on Android, and the App drawer on iOS works the same way. If an app is truly having an issue and it does happen to still be running in memory (i.e. recently used), closing it in the App Drawer or in Recent Apps will force close it, potentially correcting the issue when it starts up again. If it isn't actively running because you haven't used it in a while, it will do nothing really.

 

Also, quite often games will cause the most issues. Candy Crush is one of the worst I've ever seen at leaving itself running and causing all sort of issues on both Android and iOS devices.

Share this post


Link to post
Share on other sites

Leave the Facebook or Facebook Messenger app open and watch your battery take a nose dive, granted it's probably just an issue with certain apps I am sure most are fine leaving open in the tray but some just suck down your battery life.

Share this post


Link to post
Share on other sites

My main issue with the app drawer in iOS (and Android I suppose) is if it is indeed a list of recently used apps, why is it 10 pages long? In my opinion, it should be changed to only list apps that are currently in memory (or were launched in the past 24 hours or something).

 

If I launched the CNN app a week ago and then launched another 25-50 apps over the course of a week without launching CNN again, the CNN app is not in memory and it is not a recently launched app. Why then is it clogging up the "recently used apps" drawer?

Share this post


Link to post
Share on other sites

My main issue with the app drawer in iOS (and Android I suppose) is if it is indeed a list of recently used apps, why is it 10 pages long? In my opinion, it should be changed to only list apps that are currently in memory (or were launched in the past 24 hours or something).

 

If I launched the CNN app a week ago and then launched another 25-50 apps over the course of a week without launching CNN again, the CNN app is not in memory and it is not a recently launched app. Why then is it clogging up the "recently used apps" drawer?

 

Because... It is a historical drawer? It only doubles as a way to kill actual in-memory apps. It's main function was and is a history. Before multitask and on devices that don't do it it works the same way.

 

This is why on my jailbroken phone I use a tweak called SwitcherMod that makes the kill-app X always visible, and dims the icon of apps that are historical but not actually in-memory.

 

post-17103-13726681328655_thumb.jpg

 

See? Much more useful. Oh, the double rows is a different tweak, not from SwitcherMod.

Share this post


Link to post
Share on other sites

Leave the Facebook or Facebook Messenger app open and watch your battery take a nose dive, granted it's probably just an issue with certain apps I am sure most are fine leaving open in the tray but some just suck down your battery life.

 

I don't know how many other ways I can say this but iOS will *literally* suspend your app, unscheduling it from any CPU usage, when you enter the background unless you are actively playing audio or have requested the 10 minute background task exception. VoIP apps are also suspended, but their network ports are left open. For VoIP, if a call (packet) comes in, the OS will wake the app back up to handle it. For apps with the 10 minute exception, when the time is up the app will be warned to stop *NOW*, then suspended if it behaves or killed if it refuses.

 

Apps like messenger work by push notifications; the app itself is not running, the OS handles receiving and displaying the push notifications. That's why you can't have custom push notification sounds unless they ship in the app bundle - the OS copies the sound (and icon) out of the app bundle to its own cache so it can completely handle the notification without the app's help.

 

Now if the app is the foreground app and the screen locks, it isn't necessarily suspended right away until the device actually goes to sleep.

 

So if you go back to the home screen, Facebook Messenger can run for at most 10 minutes to finish background activity. The OS will then suspend it, period. It will be left in memory as long as nothing else needs the memory so if you re-open it, it can just be resumed. If something needs the memory, it will be dumped and next time starts from scratch.

 

 

 

Some of this is changing in iOS 7:

 

+ Apps can request to check for and/or download new content in the background. The OS will wait for conditions to be right (strong cell signal, recently connected to WiFi, user woke up phone to do something else, etc) then it will fire off the pending download requests. It keeps track of how often you use apps and allows frequently used ones to make downloads more often, but little-used apps may only get their download requests fired when you plug in to power, once a week, or whatever. The goal being that downloads are batched up and done when network conditions are better (thus better battery life) or when you're burning battery anyway for something else.

 

+ If you request it, your app can now be activated by a push notification (for a limited period of time) to handle the notification in the background, that way it can be 100% ready when the user opens the notification or the app later on. I believe you can also kick off a download request (subject to the same rules as above) in response.

 

 

 

edit: and guys, let me re-iterate... I am a developer. I am required to know these rules, they affect my applications. I can connect with Instruments and see exactly what processes are running, if they are scheduled or suspended, how much CPU time, RAM, etc they are taking up. I promise you, I am 100% correct and describing how it works not just from the documentation/theory, but from actual observation of a running device under debugging.

 

 

edit2: I have been educated about the VoIP trick! So what I said may not apply to VoIP-based apps depending on how they are written. Facebook has a horrible track record on iOS, so it doesn't shock me in the least that they are a terrible offender.

Share this post


Link to post
Share on other sites

Interesting... they are abusing the VoIP rules, intended to only be occasional keep-alives, to get around the restrictions sorta. The app isn't actually running the entire time, it just wakes up for 10 seconds at a time, probably to send/receive a keep-alive ping to the server. Unfortunately across a whole day all that waking up the cellular modem can have a negative effect on battery life. I have no idea why they are waking up every 15 minutes, once an hour should be plenty.

 

Well I learned something new today! I guess if an app has VoIP features and the developers decide to be dicks they can uselessly burn battery life.

 

Of course you'd be rejected from the app store if you claim the VoIP permission in your plist but have no VoIP features

Share this post


Link to post
Share on other sites

Interesting... they are abusing the VoIP rules, intended to only be occasional keep-alives, to get around the restrictions sorta. The app isn't actually running the entire time, it just wakes up for 10 seconds at a time, probably to send/receive a keep-alive ping to the server. Unfortunately across a whole day all that waking up the cellular modem can have a negative effect on battery life. I have no idea why they are waking up every 15 minutes, once an hour should be plenty.

 

Well I learned something new today! I guess if an app has VoIP features and the developers decide to be dicks they can uselessly burn battery life.

 

Of course you'd be rejected from the app store if you claim the VoIP permission in your plist but have no VoIP features

See it is possible, I see it everyday what leaving the facebook app open can do to your battery life. I can be home on WiFi with 5 signal bars and with the facebook app open and within an hour starting from 100% I will be down to the low 90's-high 80's, if it is closed however I can sit on 100% for several hours and even with slight use after an hour or two I will be in the mid-90's.

Share this post


Link to post
Share on other sites

See it is possible, I see it everyday what leaving the facebook app open can do to your battery life. I can be home on WiFi with 5 signal bars and with the facebook app open and within an hour starting from 100% I will be down to the low 90's-high 80's, if it is closed however I can sit on 100% for several hours and even with slight use after an hour or two I will be in the mid-90's.

Thank god Xanadu finally listened to someone. I'm sure he's a fine developer but he seems to think the CPU being unscheduled = no battery drain... Radio and GPS is the biggest offenders so if it is doing anything with those for any length of time you may notice it, especially on 3G. FB in particular, I wear tinfoil time to time, and I don't think anything good is being done while my phone heats up and it tracks my location.

 

Even worse, Facebook, FB messenger, and The Chive app (yeah, idk) I have personally witnessed behave like Skype and not only persist after closing (except Skype doesn't drain my battery) from the app tray -- as in, it comes back, they all do -- they also start themselves on reboot or respring. Of course, I'd assume a dev could see these activities but idk. I'm just a prolific jailbreaker and watch my running tasklist at a much deeper level than just the tray.

 

However if you have Background Manager installed on a JB phone you can force it to de-persist after being killed, and disable the autostart and auto-restart. I also killed their access to GPS (the normal way, in Privacy). Since FB is such a piggy app, I usually disable backgrounding unless I manually toggle it on for that session.

 

6atetase.jpgu9uhaju6.jpgjyhunuje.jpg

 

F-- Facebook. And apple not booting them out if the App Store ought to tell you something. (Something that leads straight to Room 641A and the like.)

Edited by Txmtx

Share this post


Link to post
Share on other sites

Automatically launching on startup is a jailbreak thing only.

 

 

If an app is not scheduled for CPU time, it cannot initiate or respond to any network requests and therefore cannot keep the radio alive; however waking up every 15 minutes to chat with a server does wake up the radio. It appears (based on that guy's blog post) that it stays active for 10 seconds sending/receiving who knows what.

 

 

I was technically incorrect for a few specific situations but my original point still stands... people fuss with the app drawer constantly, wasting a lot of time and accomplishing nothing in most circumstances.

Share this post


Link to post
Share on other sites

Automatically launching on startup is a jailbreak thing only.

 

 

If an app is not scheduled for CPU time, it cannot initiate or respond to any network requests and therefore cannot keep the radio alive; however waking up every 15 minutes to chat with a server does wake up the radio. It appears (based on that guy's blog post) that it stays active for 10 seconds sending/receiving who knows what.

 

 

I was technically incorrect for a few specific situations but my original point still stands... people fuss with the app drawer constantly, wasting a lot of time and accomplishing nothing in most circumstances.

To paragraph 3: yes, and yes people do. That doesn't make it entirely true; people just usually fuss for the wrong reason. There is a good reason to discuss the drawer and what it does and doesn't do. It does: kill apps, running or suspended; killing suspended apps generally is a waste of time, but not always. And not only for battery draining in not-really-suspended apps that are shady like FB. Typical iOS user cannot see when the RAM is "full" with suspended apps. When opening a larger app, other suspended apps must be swapped into flash. This is around the 50MB unallocated point. It can slow to a crawl doing this, when you could have freed the RAM occupied by the gaseous-phase-like cache of FB, for example (safari can be large too) with a quick tap previously, rather than wait when you want to use a new app.

 

To the first paragraph: False. Forcing an app that wasn't created to do so, to launch on boot backgrounded (either completely or in "native"

suspend-state background), is a jailbreak thing. On stock iOS 6.x, Skype as a process launches into native-background (suspended) mode on boot, as does FB etc. JB also allows you to force an app which does it normally, to NOT do it. This is nice since, when I respring or reboot, I don't want to manually kill FB etc. since we already discussed it's miraculous use of a lot of battery at times, while it should be "suspended." And, even more so since it is quite persistent at relaunching when killed even -- two or three times at least; I used to find it in my process list after a while, regardless. And by process list I don't mean tray. A stock iOS user would never be able to tell. Kill FB, it's gone from the tray. Reboot. FB starts and you cannot see it. What a crock of shit.

Edited by Txmtx

Share this post


Link to post
Share on other sites

Everyone does this and it annoys me. What part of "It does not make a difference" do they not understand?

 

To paragraph 3: yes, and yes people do. That doesn't make it entirely true; people just usually fuss for the wrong reason. There is a good reason to discuss the drawer and what it does and doesn't do. It does: kill apps, running or suspended; killing suspended apps generally is a waste of time, but not always. And not only for battery draining in not-really-suspended apps that are shady like FB. Typical iOS user cannot see when the RAM is "full" with suspended apps. When opening a larger app, other suspended apps must be swapped into flash. This is around the 50MB unallocated point. It can slow to a crawl doing this, when you could have freed the RAM occupied by the gaseous-phase-like cache of FB, for example (safari can be large too) with a quick tap previously, rather than wait when you want to use a new app.

 

To the first paragraph: False. Forcing an app that wasn't created to do so, to launch on boot backgrounded (either completely or in "native"

suspend-state background), is a jailbreak thing. On stock iOS 6.x, Skype as a process launches into native-background (suspended) mode on boot, as does FB etc. JB also allows you to force an app which does it normally, to NOT do it. This is nice since, when I respring or reboot, I don't want to manually kill FB etc. since we already discussed it's miraculous use of a lot of battery at times, while it should be "suspended." And, even more so since it is quite persistent at relaunching when killed even -- two or three times at least; I used to find it in my process list after a while, regardless. And by process list I don't mean tray. A stock iOS user would never be able to tell. Kill FB, it's gone from the tray. Reboot. FB starts and you cannot see it. What a crock of shit.

To be honest, my iPhone never slows down. On my old 3GS, too many multitasking apps may have been a problem sometimes, but in newer iOS versions, the threshold for releasing suspended apps has been increased to around 75-100MB free.

Share this post


Link to post
Share on other sites

Everyone does this and it annoys me. What part of "It does not make a difference" do they not understand?

 

 

To be honest, my iPhone never slows down. On my old 3GS, too many multitasking apps may have been a problem sometimes, but in newer iOS versions, the threshold for releasing suspended apps has been increased to around 75-100MB free.

In my short experience with stock 5.x and 6.x on a 4S, a 5, and an iPad 3 (1st version, the slow one) you are absolutely correct. I have been impressed with the behavior on stock iOS.

 

I always JB and how I use my setup necessitates being more proactive (and I prefer being a little more involved).

 

The important thing to note at this stage of the thread (if you've bothered to read more than the title) is the deceptive behavior of certain apps and the way they interact with and abuse non-power-user faith in stock iOS.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...