关于timer控件的疑问

walkingp 2009-11-22 08:18:45
我现在想要做一个winForm程序,使用了timer控件,那么这个程序会一直运行,timer也会每隔一秒钟监视一次,那么现在我的程序的内存占用会不会越来越高。

还有如何优化这种程序?
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
walkingp 2009-11-22
  • 打赏
  • 举报
回复
我总感觉像我现在这样比如要监视计算机时间,一周后再运行其中的操作会非常的占用资源。有更好的解决方法吗?
trentliu 2009-11-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 walkingp 的回复:]
像这种时时刻刻都要监视运行的是不是使用服务的方式更好一点?
[/Quote]

Windows Service 确是更好,不过调试开发麻烦一些。
我建议你先用timer控件写。 用.net 内存监视工具监视一段时间。 完全没问题了就改成Windows Service
wuyq11 2009-11-22
  • 打赏
  • 举报
回复
不会有问题。
GC的是.NET中对内存管理的一种功能。垃圾回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存。当使用可用内存不能满足内存请求时,GC会自动进行。
托管代码的堆上的垃圾内存可由GC自动回收,非托管代码中堆上的垃圾内存必须程序员自己负责释放、回收
在.NET的对象中实际上有两个用于释放资源的函数:Dispose和Finalize。Finalize的目的是用于释放非托管的资源,而Dispose是用于释放所有资源,包括托管的和非托管的。
walkingp 2009-11-22
  • 打赏
  • 举报
回复
像这种时时刻刻都要监视运行的是不是使用服务的方式更好一点?
trentliu 2009-11-22
  • 打赏
  • 举报
回复
timer 不会有问题,你timer事件里的代码搞不好会内存越来越高
真懒得贴这些内存管理的文章了,你 google 一下
IDispose, Using(){}....

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧