Program memory (RAM) limitations and management

4 Jun 2010

A 32MB per process program (RAM) memory limit exists in the Microsoft Windows Embedded Handheld or Windows Mobile (Windows CE 5.0 and less) operating system. Application software that needs to use more than 32MB of RAM should have more than one process running. The latest WEH / WM user interface and higher display resolution on newer devices can cause application software to use a bit more program memory than did the previous OS versions. For additional information on how to develop or modify application software to be able to access more RAM memory when necessary (for doing tasks such as loading a large data file all at once), please visit the following webpages.

Other possible methods to free additional memory are described at the following web page.

Locking down the rugged handheld

Otherwise, it may be easiest just to simply divide the large data file into smaller files that individually would logically work better with the limited resources on a handheld computer in any case. A visualization of this is provided in the video on our blog at this web page.

The legacy Microsoft Windows CE 4.2 and less operating systems (such as on previous Allegro models) can by default utilize RAM (Random Access Memory) for either or both data storage (not recommended due to volatility) and for running programs. You can adjust how much RAM memory is allocated to each under Start > Settings > Control Panel > System icon > Memory tab. The Windows registry is automatically stored in RAM memory, though on the Allegro CX and prior models you can backup it up to the C_Drive (an internal non-volatile flash storage memory drive) using Start > Programs > Utilities > Save System.

The Microsoft Windows Mobile 5.0 and higher operating system no longer offers to store data (or the Windows registry) in RAM memory. All RAM memory is now only available strictly for use by the operating system and by running application software (data and the Windows registry are now all stored in non-volatile flash memory by default (no “Save System” necessary)). There is no longer a need to manually adjust RAM memory between how much is allocated to data storage versus running programs. It is now more similar to how the full versions of Microsoft Windows operates on desktop PCs.