Originally Posted by Fazed
The entire purpose of RAM is to hold stuff for quick access. People just don't seem to realize that empty RAM is useless RAM.
The best analogy would be keeping food in your pantry for quick access. The pantry is RAM. Retrieving food from your pantry is nice and quick, but getting food to the pantry from the store (SD card or other semi-permanent storage) takes time. The optimal thing to do is to keep the pantry filled close to capacity.
Running a task killer is essentially taking the entire contents of your pantry back to the store for a refund, only to have to drive back and re-purchase your food (one meal at a time) when you're ready to eat.
Originally Posted by koticphreak
Right, but you always want a decent amount of free space, because if you happen to go buy a few things, you have no pantry space to put it
This is an important point.
When you run out of RAM in a normal UNIX/Linux system, least recently used memory from sleeping apps gets moved into swap space to make room for things that need more RAM. Code from sleeping executables can be paged out to avoid using swap but it's the same basic idea. Stacks/heaps and any other dynamic memory pages will still have to go to swap though. This is all painfully slow and should be avoided when possible. I'm not sure if Android uses a swap device. If it doesn't then when you run out, then you're just plain out. You'll need to shut some things down before you can run something else.
I think that some people are trying to over-simplify this issue. That leads to bad over-generalizing conclusions.