Your Smartphone's Memory - Keeping It Clean, Keeping It SmoothSteve Litchfield explains the importance of free RAM memory to a smartphone's operation, and lists things to bear in mind when choosing and using a Nokia S60 smartphone.
You'll all remember the old quote from Bill Gates: "640K should be enough for anyone", when talking about RAM (Random Access Memory) on a PC. That estimate was quickly proved horribly inaccurate, of course, because of Windows' voracious appetite for memory, but the world of smartphones (and Symbian OS in particular) is quite different and typical RAM figures are still of the order of 10 to 20MB, while PCs routinely come with 1GB.
Note that I'm talking about RAM here, not what Nokia simplistically call 'memory'. If you're not sure what I'm talking about, spend a minute or so perusing the diagram on the right. Although you don't need to know the exact ins and outs of how your phone works, it certainly helps when trying to work out why something's not working. Kind of like a car. Your mum probably hasn't the faintest idea of what goes on under the bonnet of her car, which is why she calls you when anything goes wrong. And why she's probably giving it a much harder time in normal use than you would, simply because she's not sympathetic to how it works. It's more or less the same with smartphones!
When manufacturers talk about memory, they usually mean the flash storage chips on which you can store files and install applications. RAM, or 'dynamic memory', is the physical chip in which Operating System and all your programs actually run, do their business, and so on. And it's vital, absolutely vital, to be aware of your RAM and treat it carefully if you want to avoid running into problems later on. Over and over again, I see problems on AllAboutSymbian forums, to do with things falling over because of lack of 'memory', and in most cases the device is talking about RAM, not flash memory.
Now, in what follows I'm going to have to give a few examples and quote a few figures. For the sake of argument I'm going to use a standard Nokia 6630, a pretty average 'current generation' Symbian smartphone, but the arguments and principles involved are equally applicable to any Series 60, Series 80 (i.e. Communicator) or UIQ-based smartphone. Here's the 6630's RAM, showing a typical (though best-case) sensibly-used handset, with applications being started (but not exited) one by one. Remembering that this is how things appear when everything's going well, look how the available RAM still gets swallowed up:
Let's recap. At this point, on a perfectly normal S60 smartphone, we have Messaging, Contacts, Calendar, Camera, Gallery, Web and Log, all running happily at the same time, in the background - which is what we expect from a Symbian OS smartphone. Each can be switched to more or less instantaneously, with no startup delay. Now, each of these programs are Nokia or Symbian written, designed to use your precious RAM very efficiently. Web is by far the biggest culprit and you won't be surprised to hear me advise that starting Web (or Opera, or NetFront) on any smartphone is always going to hit your RAM hard.
But let's add a hungry third party program into the equation. Starting up my own Musician (itself a tiny Python script) involves running up the Python interpreter, and this needs up to 2MB of RAM to run properly. Or it could be your favourite J2ME (Java) game. Or your satellite navigation software. Or the Opera web browser. What happens here is that the third party application will at best pause, at worst close down with a suitable 'low on memory' message, while Symbian OS has a clean-up and closes down most of the other programs running in RAM. No data is lost, of course, and within a second or two your free RAM is back up to 8MB or so (you'll never get back to the original figure after the reboot because there are all sorts of OS memory needs to take into account). You then try your application or game again and it runs perfectly happily. Next time you need Contacts or Calendar or any of the other applications mentioned here, they'll be started up from scratch and kept in RAM until the next low memory situation. And, on the whole, things work acceptably, if not entirely smoothly.
However, there are several things which can go 'wrong'. Firstly, the starting figure for free RAM (in the example above, 9MB) has a huge effect on the point at which RAM starts to run out. Either because of operator-added 'features' (as in Orange-branded S60 devices), or because the OS itself needs a little more room (as in the RAM-challenged Nokia 6680), or because a user has added low level utilities and system files that are always 'in memory', it's not unheard of for smartphones to start with as little as 6MB free. Looking at the diagram above, starting with 3MB less RAM would mean that all applications would get closed when Web was started, leading to frequent delays and regular frustration.
Of course, things improve if the free RAM figure is higher. The newer Nokia N70 has a whopping 32MB of free RAM, so you should never, ever hit this kind of problem. The clamshell Nokia 9500 has over 24MB free, while the Sony Ericsson P910i has just over 20MB.
Now, there's probably not a lot you can do about the base memory configuration of your smartphone, it's as you bought it, complete with basic spec and operator branding (make a note to yourself to try and buy SIM-free next time, perhaps?) If you want to push your smartphone to the limit and are frustrated with low RAM, it might be time to upgrade to something with more RAM (e.g. hitting limits on a Nokia 6680 and going up to the N70). However, what you install and how you use the device also has a big effect. Here are the bullet points:
- Install FExplorer or TaskSpy, then restart your smartphone and establish how much RAM your device has immediately after booting up. Then compare it to the 'just about enough' 9MB quoted here for a basic 6630 and you'll know whether you should be worried about RAM or not.
- Be wary of utilities that like to sit in the background, using up RAM. Examples include replacement desktops/front screens and security utilities (usually not needed).
- Be wary of Java (J2ME 'midlets') applications. Yes, it's great that your favourite game is now available, and hey it's great that it also runs on your friends non-Symbian smartphone, but be aware that Java applications swallow up a minimum of 3MB before the application itself even thinks about doing something. Typical Java games take around 5MB of RAM, and that's going to mean that everything else running needs to be closed down on most current day devices. And don't even think about running several Java games at the same time. Similarly for huge programs like TomTom MOBILE 5 and the Opera web browser, mind you, but at least there you know you're plumping for some serious functionality.
- Make a list in your head of the applications that you have installed which you know (and accept) are real RAM-hogs, so that when you start them you're effectively making a conscious decision to run them to the exclusion of anything else in RAM.
- If you hit problems starting an application and suspect that it might be RAM-related, but a quick calculation shows that there shouldn't be a problem, try restarting your smartphone, to clear out RAM and restart the operating system. If you have to do this regularly though (more than once a week) then you've got a problem.
- In the event of a major, unexplained problem, especially if you're seeing unusual communications (like your smartphone trying to go online all the time), then you might have rogue software ('malware') on your phone. Have you by any chance installed a 'cracked' game from a warez site? There's no need whatsoever to worry about Symbian (so-called) viruses, as they can't be installed silently, but it goes without saying that if you stray into the criminal world of illegally cracked software then you shouldn't be surprised that some applications are not what they seem... if you've been stung in this way, maybe it's time for a cleanup?
- Make sure you keep up to date with firmware updates from your operator (if you have a network-locked device) or the manufacturer (if you bought it SIM-free). Later is usually better and all sorts of under-the-hood bugs are likely to have been fixed.
- Make sure you keep enough free space on your smartphone's internal flash disk (usually designated 'C', similarly to on a PC). It's easy to fill your internal disk (usually just referred to as 'memory' by the manufacturer) with photos, voice clips, SMS messages and so on, but if you let this get much below 1MB then the operating system and applications will have nowhere to put their temporary files (working space for temp files) and everything will grind to a halt in a way that you really, really, don't want.
Finally, I was going to suggest that we all write letters to Nokia and Sony Ericsson, pleading for a more realistic amount of RAM in their smartphones - but I believe they've already learnt their lesson, with everything announced in the last year or so having a much higher amount of dynamic memory.
Which leaves you and I, the users with less-than-cutting-edge smartphones, having to scrimp and save on RAM in order to keep our devices working properly. Though I still believe the stability benefits and real time performance of Symbian OS and Series 60 are better than the competition and worth persevering with.
I do hope this article has been a help to you in your own daily smartphone use.
Steve Litchfield, February 2006
Published by Steve Litchfield at 14:17 UTC, February 24th