内存不足.NETCF Windows Mobile 5

| 我们有一个用C#编写的.NETCF 3.5应用程序,其中使用了一些相当大的对象列表和字典,并用来自SQL Server的数据填充并持久存储在设备上的SQLCE数据库中。 直到最近,该应用程序都运行良好。数据量如此之大,以至于我们经常遇到内存不足异常。使用Hibernate事件,我已经确认操作系统确实在要求应用程序释放资源(Hibernate事件不断触发)。问题是,我确实看不到任何可以释放的实质内容-列表和字典等都被应用程序使用。 我知道Mobile 5/6的应用程序有32 MB的硬限制(根据http://dev.fittingsites.com/bol/2008/windows-mobile-6-1-memory-,实际上只有18-20 MB管理变更)。 我在这里有点茫然。如果该应用程序需要大约25 MB的操作量,如何在Mobile 5上运行?是否有解决方法,例如将列表或字典存储在“内存映射文件”中或类似的方法,这些工作不需要大量工作(或使速度变慢)?     
已邀请:
您使用哪种方法从SQLCE数据库读取数据? SQLCE提供两种主要方法:数据集和结果集。众所周知,数据集会消耗大量内存并降低应用程序性能。如果使用的是DataSet,建议您尝试将应用程序切换为使用RecordSet。有关更多详细信息,请参见此页面。     

要回复问题请先登录注册