[C#Winform内存波动

问题描述 投票:0回答:1

背景:我有一个c#winform应用程序,该应用程序通过位图加载图像,然后将该位图存储在picturebox.image中。图像根据系统计时器事件每秒更改一次。

我不再使用位图和picturebox.image时。

我在任务管理器中注意到,该应用程序每隔几分钟就会在内存使用中波动一次。例如:该应用程序将以14.1MB-> 14.2MB-> 14.3MB的速度运行...一段时间后... 16.3MB ....

然后从16.3MB的5分钟后,内存使用量将像这样波动:16.3MB-> 25.3MB-> 16.1MB-> 25.2MB,它将继续此模式10到15秒,然后再次稳定到14.0MB。

有时,我注意到内存也会波动。例如:14.6MB-> 10.4MB-> 14.7MB-> 11.5MB,依此类推几秒钟,然后再次趋于稳定。

我知道在不看到代码的情况下很难说出问题是什么,但是什么会导致这种情况发生呢? GC正在运行吗?是内存泄漏吗?是我应该担心的事情还是在应用程序运行时经常发生?该应用程序可以运行数小时而不会崩溃,这让我想知道发生了什么。我还没有运行超过9个小时,所以我不知道会发生什么。

让我知道你们的想法,感谢您对此事的任何想法。

谢谢。

c# winforms memory-management
1个回答
0
投票

GC正在运行吗?

每次系统需要更多的内存,然后内存下降。

GC不确定。它在需要时运行。内存波动是正常的。

© www.soinside.com 2019 - 2024. All rights reserved.