Author |
Topic |
|
jhurder
4 Posts |
Posted - 30 Oct 2002 : 10:02:22
|
Hello, My company develops on the ADS Graphics Client Plus. I often have a memory problem with Windows CE, where the memory setting is completely pressed against the extreme left of the bar, meaning there is no storage space (if I am reading the description from CE). When this happens, I can not send any thing to the device (via ActiveSync). It happens at random times, and probably 3 to 4 times a day. I can manually go into the Control Panel|System properties and reconfigure memory allocation, and I can transfer files as normal. Does anyone know what is happening here? Is there a way to set the memory settings permanently (say 15 MB for storage memory and 38 MB for program memory?) Thank you!
Jason |
|
ctacke
877 Posts |
Posted - 30 Oct 2002 : 12:02:07
|
The memory allocation should not be "floating" without either user or application intervention. It is set at boot by a registry entry in ADSLOAD.REG, and will remain at the same point. The slider can end up at the left side if the reserved memory is fully taken up (as data is stored in the file system, the area left of the slider shortens until it reaches the slider itself) so it's important to make sure that you either have initialized the system with enough space or that you periodically check and reallocate memory programmatically.
You can programmatically set the memory allocation using SetSystemMemoryDivision (see this topic). |
|
|
jhurder
4 Posts |
Posted - 11 Nov 2002 : 10:11:07
|
I could check system memory periodically to determine if I need to reallocate, but how often should I do this? If I was to check it say once per minute, would those API calls create a lot of overhead? Sometimes I see other memory related problems "Not enough storage space..." pop up, and when I check the memory slider position, again, all of the storage memory was consumed (bar all the way to the left). I will try calling SetSystemMemoryDivision(0X1500) periodically to see if the problem is resolved.
|
|
|
ctacke
877 Posts |
Posted - 14 Nov 2002 : 13:00:18
|
While periodically scanning and reallocating memory via the API should result in little overhead (especially at long intervals like once a minute), I'd recommend trying to find the root cause of the problem. Running out of memory with 38MB of program memory is very unusual - it sounds suspiciously like you may have a memory leak. What type of application are you using (eVb or eVC)? Are you storing a large amount of data on the device? If so in what format (DB, file, etc.)? |
|
|
|
Topic |
|
|
|