.NET CF 3.5,暂停和内存泄漏

时间:2015-01-16 08:05:45

标签: c# winforms memory-leaks windows-ce

我们在手持设备上运行WinForms应用程序(主要销售,使用wifi /移动数据进行主机连接)(Windows CE 6.0,CF framework 3.5,visual studio 2008)。

问题是,当我们的应用程序正在运行并且用户挂起设备时,即它进入睡眠模式,然后在它从暂停状态唤醒后,我们的应用程序的内存使用量(物理,虚拟似乎很好)开始不断提高,直到它将开始出现内存错误。

当不使用挂起时,应用程序的内存使用率几乎不变。我们添加了一些广泛的日志记录和内存使用率约为45%-48%,即使在数小时和数小时的密集使用应用程序之后。

但是,一旦设备在应用程序仍在运行时挂起,并且从挂起状态唤醒,内存使用量就会开始增长。少量,但仍然不断。例如,在使用30分钟后,内存从45%(暂停后)升至85%。在没有暂停的情况下进行测试时,应用程序的使用没有任何不同。

这就像设备想要在暂停后运行应用程序时通常使用的45-48%的内存。

现在,我无法做任何事情,在应用程序运行时使用挂起。这是我们的用户不断使用的功能。

我有什么办法可以解决这个内存泄漏问题吗?由于没有暂停,它永远不会发生,我没有想法,如何进一步测试以确定问题。

我应该明确致电GC.Collect吗?或者这听起来更像是操作系统级别的问题?或者我们的代码中是否有某些内容只会在挂起模式后导致内存泄漏?

0 个答案:

没有答案