This is by far NOT to be considered ALL of how Android manages memory, just a baseline explanation. You can read further either through xda-developers, or a Google search for Let me google that for you. If you're coming from a Windows machine, you already know the rule of thumb -- the more processes in the background, the slower the machine -- this is where Linux/Unix differs, and since Android is built on the Linux kernel, it's only appropriate that it manages memory the same way. When you start Linux, a ton of daemons (of course "ton" could be more or less depending on how many packages you have installed) start and stay in the background. When not in use, these daemons are "sleeping." A sleeping daemon does not actively use memory, but rather occupies a small amount just so it can be woken more quickly. In Windows, all processes in the background are considered active and on the loose. In Android, it has a built-in mechanism for managing these sleeping processes so that whenever the internal memory reaches a certain low point, the least used process is GRACEFULLY shut down (in it's proper sequence, NOT kicked loose like in task killers). This is why task killers (though in some uses, are useful, if you know what you're doing or if you have something lock up) are not great for Android. These hard-coded killoff points are already in there, but their set from the manufacturer pretty low, so doing a multitude of things and multitasking even though it won't freeze the device, will make it slow because there's clutter in there not being used. Autokiller (root required and free from the market) allows you to adjust these killoff points using presets. You don't need to have an in-depth working knowledge of what you should set for each parameter, just choose a preset. Android will still boot with it's factory defaults, but Autokiller will start automatically and re-adjust them to the preset you chose.