I have my Nexus S for over two weeks now, and I'm incredibly happy with it. Theming is a lot of fun, and you can do very cool stuff even without root and custom roms!
However, there is one (strange) thing I've noticed. It's about the RAM.
For your information: I use Go Launcher which has a tab in the App Drawer with running applications, and a button to close all (you can exclude certain apps). When I boot up my phone, I have 170-180 MB free RAM. The following programs (and widgets) are running in the background (I have excluded them from the close all list): Go SMS Pro (widget, notifications), WhatsApp (notifications), Lookout, Extended Controls (widget), Wiget Locker (I made it look like the MIUI lockscreen) and Clockr (widget).
There are two more apps that are on constantly, and those are the Miren Browser and PlayerPro. I don't know why Miren Browser keeps turning itself on. When I check how much MB it uses, it says 0,00 dB... As for PlayerPro, I use a widget called Phantom Music Control, a widget that hides itself when no music is being played. I also use it on my lockscreen. This widget controls PlayerPro, so that is probably why PlayerPro has to be running all the time (so that it can start up quickly when needed).
There are some Google apps that turn themselves on, like Gmail and Places, and they actually use RAM according to Go Launcher. I don't want them to be running, and synchronization is turned off with Gmail. When I want to know if I have mail, I open Gmail. It doesn't have to be running all the time. I've never used Places, and I never will use it, so I don't know why that has to be running all the time.
Every once in a while I hit Close All (with Go Launcher). However, I've noticed that over time my free memory keeps lowering. When I boot up my phone it is around 175 MB, but at the end of the day the free memory is 100 MB, 70 MB or even 50 MB, and yes, even after I've hit the 'Close All' button.
I know I don't use my phone very efficient, with programs like Go SMS, Widget Locker and that Music Control widget, and I will flash a custom rom later. My RAM memory will probably increase then (I've read something about Supercurio's kernel including a boost RAM management). It just bothers me that I don't have control over what programs are running (Gmail and Places), and that my free memory decreases over time. I haven't noticed any slow downs, I'm just worried. Or shouldn't I?
I don't know about the rest, but you shouldn't be concerned about free memory.
Android is designed in a way that all programs keep running (sleeping actually) in the background even when you don't use them at the moment. They are automatically killed when the system needs memory for something else. Any program that is sent to the background (e.g. by pressing back or home) can be killed by the system at any time and is (should be) ready for it.
Basically, the less free memory you have, the better. That means that many of the apps you use are running and you can return to them without delay.
There are some articles floating around the web about the architecture of android and process/application life cycle. They explain that better then me, and in more detail.
cgi said:
I don't know about the rest, but you shouldn't be concerned about free memory.
Android is designed in a way that all programs keep running (sleeping actually) in the background even when you don't use them at the moment. They are automatically killed when the system needs memory for something else. Any program that is sent to the background (e.g. by pressing back or home) can be killed by the system at any time and is (should be) ready for it.
Basically, the less free memory you have, the better. That means that many of the apps you use are running and you can return to them without delay.
There are some articles floating around the web about the architecture of android and process/application life cycle. They explain that better then me, and in more detail.
Click to expand...
Click to collapse
First of all, thanks!
So I don't have to be afraid of any slow down? And what about Gmail and Places turning themselves on every time, even if I don't use them?
And why does the free memory decrease over time, but increases again when I turn off and boot up my phone?
Androyed said:
So I don't have to be afraid of any slow down? And what about Gmail and Places turning themselves on every time, even if I don't use them?
Click to expand...
Click to collapse
More like the opposite: your RAM is being put to good use.
When your PC get's low on RAM it will start swapping and trashing around. Your smartphone has no swap and is optimized for it. If it get's low on RAM, it will just kill some stuff in the background. All this happens without you noticing anything (if the app is programmed correctly).
I don't know about Gmail and Places. Most likely they are running because they registered broadcast receivers or something.
Androyed said:
And why does the free memory decrease over time, but increases again when I turn off and boot up my phone?
Click to expand...
Click to collapse
Every app is running in its own dalvik virtual machine process. Since creating a new VM process is expensive (in terms of processing time), the VM processes are reused to some degree. One app is unloaded, the new one is loaded.
There is more stuff going on behind the scenes, of course. There are likely some spare VMs sleeping in the background waiting for an app to use them.
However, the heap (dynamically allocated memory of a process) of a VM can only grow and never shrink (don't ask me why). So after a few apps or so a VM process is restarted, too.
To come back to your question: When your device boots up, only the processes needed for boot are running. That will be the launcher, some widgets and so on. So basically, this is the moment with the most free RAM. However, this is also when your device is slowest, because every new app you launch has first to be loaded into memory and executed.
While you use your device, many of the apps you used will be kept around in the background, so when you start them again, they will reappear instantly, because the whole "create vm process --> load app from storage --> execute and initialize app" chain has already happened.
"Free memory is wasted memory."
When you open an app, the system loads it into ram. When you close it, the system should not bother to remove it from ram because there is a good chance you will use that app again and having it pre-loaded makes it open significantly faster.
Just because ram is "used" doesn't mean it can't be re-allocated for something more important.
That being said, it is entirely possible that some of your apps have memory leaks. Does it get worse after two days, or three days?
d-h said:
"Free memory is wasted memory."
When you open an app, the system loads it into ram. When you close it, the system should not bother to remove it from ram because there is a good chance you will use that app again and having it pre-loaded makes it open significantly faster.
Just because ram is "used" doesn't mean it can't be re-allocated for something more important.
That being said, it is entirely possible that some of your apps have memory leaks. Does it get worse after two days, or three days?
Click to expand...
Click to collapse
I turn my phone off every evening, so I don't know. It's not a problem by any means, I'm just curious.
I've left my RAM alone today, and I didn't noticed any slow down. It was on 110 MB free RAM when I left it alone, and when it was at 35 MB RAM, I decided to hit the close all button (there was no slow down btw). Guess what? My RAM went back up to 140 MB! Not as much as when I boot my phone up, but it's still strange: when I hit close all when the free RAM is very low, I get more free RAM then when I hit close all when my free RAM is around 100 MB (I only get 5 or 10 MB free RAM extra then).
Thanks by the way, good first post!
Hello everyone
i have noticed something strange about the RAM available, if I go into settings-applications-services running: ram, 211 MB used 80MB free.
If you instead use Android system info I see: 37 MB free RAM
Why this? I have 2.3.4 stock
sorry my bad engish
try terminating cached programs. also, remove unnecessary apps. dont use task killers/managers etc. they are unnecessary. linux is smarter than us. dont use security services unless you frequently visit suspect sites and dl apps w/out research. see which programs are consuming ram and search for solutions. last resort, hard reset. if it persists or low ram issues arise when stock, time for a new one. good luck.
The nexus S has 345MB for the OS and apps, rest is used by the hardware (mostly by the GPU), you will never have access to it.
Your situation is perfectly fine, the biggest memory hog is the browser. I recommend auto memory manager (free on market) and set the empty application line to 80mb.
The services are killed automaticly by android, no need for task managers, but the limit is set to 80mb instead of 24mb. You will still run into memory leaks eventually, but not really at 30mb left.
Thanks to all
I do not use task killer, using linux for 4 years , i try Auto Memory Manager. see if the situation improves.
I'm currently running EP1F Debloated with Gummy Charged
The phone typically says that, out of 312MB of accessible RAM, there is 60MB or less of free RAM.
i'm running GO Launcher EX, and on it's RAM meter, it's almost always in the Red (signifying that it's almost Maxed out in available RAM)
is this normal?
of course, any time i quit all open applications, the usuals always reload, but then sometimes odd programs will run in the background (i.e., netflix, google+, music, amazon appstore, picasa, ustream, etc). These are programs that I haven't even loaded or ran. they just like to load themselves up and run in the background. so because of this, my available Free RAM tends to sit at 39-55MB. that seems VERY low to me. and may be the reason why my phone tneds to bog down a bit and lag every now and then, when i'm going from app to app.
I know EP1F doesn't have voodoo lagfix yet (like it did on EE4), but this unusually high consumption of RAM seems odd to me.
does anyone have any input on this?
appreciate it
If you havent ran, and don't run those programs just get rid of them
no no no... I definitely run them. but it's probably a few times a day, sporadically.
but i don't need them to be running in the background, hogging RAM. whereas, i'm totally fine with an app like Gmail to always be running, since i check that all the time.
I use Autokiller Memory Optimizer, set to "optimal" preset. It's not a task killer, it just changes Androids settings to close programs at different trigger points. Keep some free ram and keeps the system from bogging down.
I also use Autostarts, which disables programs from starting up at startup or for other notifications that are set. Some programs still start themselves but it helps.
Why do you want free RAM? Unused RAM is doing nothing for you, Used is holding a program ready to launch so it's faster and needs less CPU to launch. Ideal RAM usage is 100% because the system will automatically make room for a new program to run.
Have you ever gotten a message that an app can't launch due to low RAM? Using RAM doesn't mean using CPU or battery. It just means ready to run faster.
Sent from my (currently) stock Verizon Fascinate ed04 using XDA App.
Hello everyone, I have my nexus for a month now running NSCollab, pretty much everything is working right with it except one thing that is driving me mad. It autocloses background apps all the time.
For example, I have my manga reader(Mango), a file manager and eBuddy running normally with plenty of RAM available. If I try to run the browser it usually closes everything.
Is there any way to make multitasking work as it is supposed to work?
Get more RAM or set a less aggressive RAM management (lower min ram before clearing)(dunno how, but it's possible).
Is there a way to set hard limits on how much RAM individual Android apps can use? Seems most apps are greedy, and I'm running out of RAM, which makes switching between the apps I am currently using slow.
I used Titanium Backup to freeze all apps I don't use frequently, and now my ram usage is down to about 50%, where it used to be around 90%.
I also use an app called Auto Memory Manager, which controls Android's own memory management. You can tell it to free memory sooner than later, for different types of memory categories. But what made the most difference was freezing apps with Titanium Backup.
I'd still like to know if there is a memory policing app, but the aforementioned are good solutions.