.Net CF无法获取足够的内存

3

由于我的设备上仅剩下62 MB的内存,其中只有40 MB可用,所以我的.Net应用程序出现了崩溃的情况。我的应用程序在内存中有一些巨大的字典,并且我需要大约30 MB的内存。为什么.Net CF不允许我这样做呢?设备上还有很多内存!是否有关于CF配置更改的想法?我尝试安装了CF Power Toys,但没有任何作用:那里没有有用的东西......Net CF不能够获取足够的内存。

1个回答

3
那些字典中是什么类型的数据(引用类型还是值类型)? 引用类型存储在GCHeap中,它位于共享内存中(对于CE 5.0及更早版本,超出了32MB进程空间)。 我猜你有很多值类型,这些类型被强制存储在进程插槽内的本机堆中,因此你只是没有足够的空间。
有关CE内存管理的更多信息,请单击此处。 有关CF的更多信息,请单击此处

哦,我有一个Dictionary<string, ShopItemData>,所以值中是一个引用类型。但是ShopItemData由string、string、int、int、int组成。感谢您提供的链接。最大的问题是32 MB的限制 ::- (. - Axonn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接