K
kingrob
Guest
Here is the article about the RAM problem with the P990i : http://uiq3.sourceforge.net/wiki/index.php/Info/Memory_Leak
Symbian OS uses a Garbage Collector as memory manager - in theory this should ease programming.
However Until Symbian 9.5 Symbian only uses an inferior non moving collector. (To be fair: moving collectors don't go well with programming languages which support pointer arithmetic)
With a non moving collector memory becomes fragmented into ever smaller parts until larger memory requests cannot be satisfied any more. To make matter worse: Fragmentation happens a lot quicker of only little free space is available - Which is the case for early UIQ3 phones.
This leads to the dreaded "Restart to improve performance" as restarting is the ultimate way to reclaim and compact all memory. Just ending all programs won't help since there are quite a few programs on the phone which will never end.
As mentioned Symbian 9.5 rectifies this shortcomings and now uses a moving collector which will be able to re-arrange memory so that free memory will be available as one great continues lump.
[edit]XIP or the lack of it
Prior to SymbianOS 9.0, many Symbian devices used XIP (eXecute In Place) NOR based memory, which mean nothing had to be loaded into RAM to execute, but this came at the cost of very slow write times. Starting with 9.0, most devices moved to a NAND based memory system, which does not support XIP, and so EVERYTHING has to be loaded into RAM (and kept there) in order to execute. That's why it takes over 40MB of RAM to run the system, as everything is kept at all times.
Last edited by a moderator: