Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.

Revision as of 04:42, 11 September 2009 by vaibhavjain (Talk | contribs)

How to calculate memory used by images in Java ME

From Wiki
Jump to: navigation, search

Article Metadata
Tested with
Devices(s): S60,S40 All
Platform(s): MIDP 2.0
Series 40
MIDP 2.0
Keywords: Memory, Usage
Created: (09 Sep 2009)
Last edited: vaibhavjain (11 Sep 2009)

In the Forum several people encounter the "Out of Memory" Exception when running their MIDlets containing many Images and/or a single big Image.

Most of the time (even the big Images) the file-size of the Images wouldn't necessarily be expected to be a problem within the application Memory Usage. This is because people assume that a 7 kilobyte Image which is a 240x320 pixels plain white Image shouldn't create any memory problem, after all it's just 7 kilobyte, right ? Well, unfortunately, this is a wrong assumption !

Internally the OS will create a Bitmap-type mapping of the Image to be able to actually display it. This means that the mentioned 240x320 pixels Image will, depending on the screens color bit depth :

width * height * (color depth/8)

Let's say we got a 16 bit screen and a 320 x 240 pixels Image, this will result in :

320 * 240 * 2 = 153600 bytes ! Exactly 150 Kilobyte, which is a lot more than the 7 Kilobyte of the original Image file-size !

So now that you know what the size and memory usage of an Image means for you as a developer you will be more aware on how to use Images and know what the impact of an Image might be on the memory usage of your application !

71 page views in the last 30 days.