Hello everybody ::- ). For some reason, my .Net application crashes when from the total of 62 MB free RAM memory on my device, only 40 MB remain. My application has some huge dictionaries in memory and I need about 30 MB of RAM. Why doesn't .Net CF allow me to do it? There is plenty of memory on the device! ::- (... any ideas about some CF configuration changes I could make? I tried installing Power Toys for CF but to no avail: nothing useful there....Net CF Doesn't Grab Enough Memory
+3
A:
What type of data is in those Dictionaries (reference or value types)? Reference types gets stored in the GCHeap, which is out in shared memory (outside the 32MB process space for CE 5.0 and earlier). My guess is that you've got a load of value types, which are being forced to be stored in a native heap inside your process slot and you're simply running out of space.
More info on CE memory management can be found here. More info specific to the CF can be found here.
ctacke
2010-05-06 17:28:50
Hm. I got a Dictionary<string, ShopItemData>, so that's a reference type in the value. But the ShopItemData is made up of string, string, int, int, int.Thank you for the links. Biggest problem is that 32 MB limit ::- (.
Axonn
2010-05-07 11:39:59