On their latest CD, Supernature, Goldfrapp has put together a successful mix of 1980-era New Romanticism, German cabaret, and T. Rex glam that leaves you riveted even through the album's lulls. It's a great amalgam that sounds current without sounding at all dated.

Reader Specials

Visit Deals On The Web for the best deals on all consumer electronics, iPods, and more!

iPhone Memory Management From a User’s Perspective

To understand why more RAM is especially valuable in the iPhone 3GS, one must first understand how the iPhone's memory is managed internally, especially with regards to 3rd party apps.

Low Memory Protection

Because the iPhone must always have the ability to receive calls, the Phone application takes priority over everything else. In order to keep the Phone app running in the background, the system also needs to have a good bit of its resources free and available. It is for this reason that all iPhone apps must be written to respect low-memory warnings from the operating system. When the iPhone OS detects that it's running low on memory, it sends a warning to all the currently running apps (including those Apple apps that run in the background, like Phone, Safari, and Mail). When an app receives a low-memory warning, it must either free up all the resources it can or the iPhone OS will force it to quit in a very unfriendly manner.

What Does This Mean To Me?

When you're in an app, often times you might find yourself scrolling through lists or switching between windows or screens within the app. Drawing those windows and screens takes a lot more CPU time than it does to simply call them up if they're already stored away in RAM, so most apps will keep their inactive screens in RAM for this purpose. When a low-memory warning comes in, though, the app must then release all this pre-drawn data only to have to redraw it again when you switch back to that screen. Think of the Calendar app, for example. As you switch from List to Day to Month view, the Calendar app has to manage these three different views. The first time they're drawn takes longer than just popping back to the previously-drawn version. More data stored in RAM at any given point in time results in a snappier experience for the user.

This is where the increase from 128MB to 256MB of RAM in the iPhone 3GS is a huge deal, especially right now. Every app that's out there has been written for a 128MB iPhone, and presumably the developers have done everything they can to optimize as such. Now that those same apps are running on a device with twice the amount of RAM, presumably things will be much snappier and, in most instances, they are (of course if an app is poorly written it can still have a memory leak and crash itself just like before!).

Going forward, we must hope that app developers continue to optimize in the same ways so that the iPhone 3GS experience will remain smooth and with as few lags as possible. Of course, with more RAM it's also possible that app developers could write resource-hungry apps specifically for the iPhone 3GS, though Apple may not allow those through their App Store review process in order to preserve a positive experience for iPhone and iPhone 3G users. Time will tell.

1 comments from the community.

Nice article, Dave. The first version iPhone/iPod touch hardware reminds many of us “old timers” of the System 6 and System 7 days of having to worry about unloading code segements so as not to be a memory hog. Remember having to allocate specific amounts of memory to an application? Man, I am SO GLAD those days are over.

As you know, with the excellent toolset that Apple provides to developers, there really is no excuse for any iPhone OS app to have memory leaks.