Memory 内存不足。NETCF Windows Mobile 5

Memory 内存不足。NETCF Windows Mobile 5,memory,windows-mobile-5.0,.net-cf-3.5,Memory,Windows Mobile 5.0,.net Cf 3.5,我们有一个用C#编写的.NETCF 3.5应用程序,其中使用了一些相当大的对象列表和字典,填充了来自SQL Server的数据,并保存到设备上的SQLCE数据库 该应用程序一直运行良好,直到最近。由于数据量很大,我们经常会出现内存不足异常。使用Hibernate事件,我已经确认操作系统确实在要求应用程序释放资源(Hibernate事件不断被触发)。问题是我真的没有看到任何实质性的东西可以释放出来——列表和字典等都被应用程序使用 我知道移动5/6中有一个32MB/应用的硬限制(实际上每个应用只有1

我们有一个用C#编写的.NETCF 3.5应用程序,其中使用了一些相当大的对象列表和字典,填充了来自SQL Server的数据,并保存到设备上的SQLCE数据库

该应用程序一直运行良好,直到最近。由于数据量很大,我们经常会出现内存不足异常。使用Hibernate事件,我已经确认操作系统确实在要求应用程序释放资源(Hibernate事件不断被触发)。问题是我真的没有看到任何实质性的东西可以释放出来——列表和字典等都被应用程序使用

我知道移动5/6中有一个32MB/应用的硬限制(实际上每个应用只有18-20MB)


我在这里有点不知所措。如果该应用程序需要25MB的运行空间,那么它如何在Mobile 5上运行呢?是否有一些变通方法,例如在内存映射文件或类似文件中存储列表或词典,这些方法不需要大量工作(或大大降低速度)?

您使用哪种方法从SQLCE数据库读取数据?SQLCE提供了两种主要方法:和。众所周知,数据集会消耗大量内存并降低应用程序性能。如果您使用的是数据集,我建议您尝试将应用程序切换为使用记录集。有关更多详细信息,请参阅。

仅此而已。我有一个到处使用数据集的移动应用程序。如果几年前我有关于结果集的信息,我现在可能不会出现内存不足的错误。