| || |
Re: Dumb question about "running applications" on my HTC One
At the risk of insulting everyone and pleasing nobody I'm going to toss this post in the ring. Rather than get all geek speak thus alienating people who just want a reasonable explanation of how Android works and also not wanting to be so basic as to be accused of insulting the intelligence of the technowizards among us I am going to try to tread the virtual tightrope of middle ground here.
To the OP and those who may be interested. NEVER use a Task Killer or Memory Manager with Android. This is important enough to repeat.
NEVER use a Task Killer or Memory Manager with Android.
The Android OS is similar to Linux in its ability to handle its own internal memory, storage, CPU cycle allocation and managing "running" applications.
As has been stated before. Unless an app is poorly written and makes unnecessary demands on the OS or refuses to yield system resources when requested there should be NO problem with apps running in the background. There are minor exceptions to this rule but they become apparent very quickly depending on what you choose to do with your device.
Running apps that constantly poll for data WILL use a tiny bit of battery every time they run their scheduled updates but unless you run a crap-ton of them 5 minutes of display on time will use more battery than background apps will use all day.
Here's what happens when you open an app like a game for instance. The Android OS checks to see if it has the resources it needs to open the app which includes memory, storage for temp and save game files etc and also checks CPU status. When you launch the game the executable files actually tell the OS "this is what I want to be able to run". Most apps will ask for the MOST resources they will ever use right at startup to insure they don't crash or lag as they are used. Some well-written apps will only ask for what they really need at startup and increase their demand as needed but in a nice way.
Android for the most part, unless an app is tied into the OS or has other permission requirements, will open a new app in a "sandbox" which provides everything that app needs to run but preventing it from interfering with other running apps or stealing their allocated resources. Agaian, a poorly written app defies this rule and causes problems and should be removed ASAP.
So you opened a game. It grabbed 50mb of precious RAM memory (holy crap! you *******!) and maybe it even smoked 500mb of storage space for "saved games, cached files, etc. You HOG you think to yourself as you enjoy the game. Now you exit the game and happen to check your Settings>Apps>Running and say to yourself "WTF???!! I closed that game and here it is still using 50mb of my precious RAM and it's RUNNING!"
Well fear not. First of all, it is running in the background which means it is using almost NO battery and the tiniest amount of CPU you can imagine just in case you want to start playing again! Isn't that nice? Faster startup, faster load time and ready to play all because Android was thinking you were just taking a break and might want to play again!
So, after starting this game and several other apps now you're starting to push the limit of how much memory you have available to start another one. Here's where the efficiency of Android kicks in with NO other 3rd party app needed.
Let's say for the heck of it you just keep starting app after app and never exit out of them, you just keep going back to the Home screen and firing up another one. Hypothetically speaking we'll say you have 2gb of RAM and the Android OS uses a chunk of that to start with. And each new app you launch asks for and is given what it asks for as long as it's available and now you want to start a game that needs MORE RAM than you have available. Go ahead and fire it up, because the OS is going to get the request, see how much the game wants, realize it doesn't have it and will then look, all by itself, at the apps already running. It will, again all by itself, KILL any apps that have been running in the background but have NOT been accessed for a long period of time. It will try to kill "standalone apps" that do not poll for mail or check for wifi or whatever but it WILL look at how much memory those polling apps took when they started up and it will assess how much memory they actually NEED to keep running and it will take the excess away from their sandboxes as well until it has enough to start your new game properly.
So ALL this is being done by the OS in the background and it workd very well unless you have a bad app that won't play nice or you are actually trying to open so many memory hogs at once that you just run out and the OS can't do anything about it.
You'll never have a problem if you get rid of crummy apps, close out of an app properly when you're done with it and don't overdo it with apps that are constantly "polling or searching or updating" in the background which keeps them alive at all times.
That covers memory. Now our CPUs are multi-core which means they can run multiple apps simultaneously and most apps only need one core worth of horsepower to run. Games and a few other apps actually DO take advantage of or even require more than one CPU core be available to run efficiently. If you've ever run a graphics intensive, fast paced game and it ran great one day and lagged the next you have now experienced CPU lag NOT memory lag and you will probably need to manually go into Settings>Apps>Running and force close some stuff so you can enjoy the game the way it was meant to play. The most likely candidates to force close are the ones that constantly poll for data (like Sports Widgets that constantly update and you set them to check every 30 seconds because you can't stand the tension of not knowing what the score is). You want to stop these temporarily because the OS will see they are performing scheduled tasks and will try to leave them alone if it can even if it means reducing CPU and GPU cycles for the game (Central Processing Unit and Graphics Processing Unit for the uninitiated, I promised I'd try to stay in the middle here).
So there you have it for now. Keep an eye on new apps you install. Try to close apps unless you plan to come right back to them, try to keep the apps that constantly need to update to a minimum and you may never see a lag.
Oh yeah, almost forgot, NEVER EVER defrag memory or SD cards. EVER!!! Hard drives in computers benefit from defragging because they have physical MOVING parts that benefit from things being close to one another and stored in a linear fashion. Solid state storage in phones and tablets have NO MOVING PARTS! They will NOT benefit from defragging and it is more likely you will lose or corrupt stored data trying to force them to rearrange everything. Leave them alone! They know right where everything is and can access everything stored on them at a decent percentage of the speed of light. NO defragging!
Enjoy the amazing portable technology you're all carrying in your pockets gang. These are good times. The Android phone does not need or want your help. LOL Unless you load a bad app.
I'd recommend a couple of apps to help you get the most out of your phone.
1, Addons Detector - Free at Play Store - after installing an app I run this. If it tells me it wants permissions or is installing Addons behing the scenes that app is whacked no matter how much I may like it
2. Astro File Manager or ES File Manager - use it to keep track of everything on your storage and SD card and delete crap. Does a lot more. Play with it. Just don't DELETE any system files!
I would also have heartily recommended Watchdog which is a program that runs in the background and looks for apps that use too much memory or CPU or break out of their sandbox but for some reason the current version does not play well on the ONE. Too many false alerts about apps that were not causing any problems so I'm hoping to see an updated version soon that can handle quadcore processors without getting freaked out if an app drives a single core to a high usage.
OK, it's longer than I intended. Hope it helps someone. YES keep an eye on what your phone is doing but also trust it to do its job unless you see a REAL issue. If you think you have a problem then POST about it. Plenty of sharp people floating around here willing to help. Not everyone in these Forums has nothing better to do than post 90 times a day "my phone is better than yours because I said so".