Originally Posted by TheAggression
For starters Android is NOT windows.....I repeat, Android is NOT windows. With Windows once the OS runs low on memory the performance of its computers lag heavily and so forth. That is not the case with Android. Android runs on linux and operates differently. For example, I currently own a Samsung Vibrant for T-Mobile running on froyo based custom rom for TeamToxic and my memory is literally at 69/337 (free/total memory). If this was a windows os it would be running pretty damn slow and laggy but it's not. In fact its quite the opposite and is running buttery smooth. And the thing is my phone doesn't have a task killer running in the background and its running beautifully. If onesAndroid phone runs slow its not because of memory issues but something else. The link below will explain in detail what really makes ones Android phone run slow or have moments of lag! Enjoy!
You're right, and you're wrong. Android, indeed, is not Windows, but perhaps I should inform you a bit on how Linux works as well:
Linux utilizes a special partition that one creates called "Swap". Ubuntu's website does a great job explaining this:
What is swap?
Swap space is the area on a hard disk which is part of the Virtual Memory of your machine, which is a combination of accessible physical memory (RAM) and the swap space. Swap space temporarily holds memory pages that are inactive. Swap space is used when your system decides that it needs physical memory for active processes and there is insufficient unused physical memory available. If the system happens to need more memory resources or space, inactive pages in physical memory are then moved to the swap space therefore freeing up that physical memory for other uses. Note that the access time for swap is slower therefore do not consider it to be a complete replacement for the physical memory. Swap space can be a dedicated swap partition (recommended), a swap file, or a combination of swap partitions and swap files.
All OSs utilize some form of virtual memory from a storage device of some sort. The difference between the OSs is exactly how much virtual memory they are going to need to utilize and at what points they'll need to utilize it.
Android is a very
lightweight OS. It has had to be due to its mobile intention and the previous restrictions that Google has had to deal with due to low-spec hardware (500~ MHz / ~256 MB/Ram). Because of this, Android operates on a very low amount of Ram and quite well, in fact.
As far as a memory footprint goes, Android 2.3 has a memory footprint about that of windows 95. When memory gets low (and it indeed can), however, is where Android's biggest failure comes in, in my opinion.
Low speed SD cards are generally what are shipped with the phones. If you don't upgrade to a higher speed SD card *I recommend class 10, personally* then you'll inevitably see this at some point as the hardware needs increase due to developers utilizing higher end hardware.
As soon as the phone has to utilize a virtual memory on a slow SD card, the entire OS comes to a halt. This isn't fault of the OS, or the developers making it. It's a fault of the poor performing storage devices that are shipped with the phones to reduce manufacturing costs. With a class 10 device, there's still a noticeable slow-down when this happens, but rather than coming to a stop, the phone will still operate at a speed that is at least tolerable.
As the above poster said, this is all moot for the moment with the Droid Bionic, as it has 1GB of RAM, and I don't foresee even the greediest developers tapping that vein completely for quite some time. (It would be nice if they did so approximately 2 years from now when those of us who will be purchasing Droid Bionics are getting ready to upgrade once more.)
tl:dr If you think Android doesn't need to utilize a virtual memory source and that makes it faster, remember that windows 95 ran on about 64 MB of RAM at a snappy speed.