|
How Android application memory works |
||||||||
With the growth of the Application markets for Android I've been encountering more and more memory issues. Users want more Apps, and those Apps are becoming bigger and bigger, or are using third party plugins to run.
To effectively develop for the Android platform you should really consider how the system memory works.
I have a HTC desire, so my example is based on that handset. I know that the memory handling is done at an OS level, so this may be a problem restricted to handsets with limited internal ROM. It would be interesting to hear from users with other handsets, like the galaxy, or the droid.
The HTC desire has 512mb of ROM, and up to 32gig of RAM (expandable by internal micro SD card). RAM is the storage space, whereas the ROM is the application memory. Think of it as the equivalent of the 640k memory block in DOS (way back in distant computing http://en.wikipedia.org/wiki/Conventional_memory). This is the space that the OS loads into, and the GUI layer and pretty much everything that runs the handset.
Out of the 512mb ROM 147.62mb is reserved for applications. This is ring fenced for user installed apps. Neither of these two values are expandable at present, you can shift some of the applications to use RAM space instead using third party apps like app2sd, but they still use some ROM.
So to sum up, you only have 147.62mb of working memory space, for ALL the applications that a user has installed. Bear this in mind when producing applications, or applications that require other platforms to operate, such as Adobe Air or Flash player.
In the next article I'll explore two Adobe technologies, AIR and Flash for Android, and what Android memory footprint they have.









There are no comments for this entry.
[Add Comment] [Subscribe to Comments]