C#中System.Timers.Timer定时器的使用和定时自动清理内存的应用
项目比较大有时候会比较卡,虽然有GC自动清理机制,但是还是有不尽人意的地方。所以尝试在项目启动文件中,手动写了一个定时器,定时清理内存,加快项目运行速度。仅供大家参考吧,代码如下:
public class Program{[DllImport("psapi.dll")]static extern int EmptyWorkingSet(IntPtr hwProc); //清理内存相关static void Main(){//启动定时清理内存SetTimer();}/// <summary>/// 定时清理内存/// </summary>private static void SetTimer(){System.Timers.Timer aTimer = new System.Timers.Timer(); //初始化定时器aTimer.Interval = 60000;//配置时间1分钟aTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);aTimer.AutoReset = true;//每到指定时间Elapsed事件是到时间就触发aTimer.Enabled = true; //指示 Timer 是否应引发 Elapsed 事件。}
//定时器触发的处理事件
private static void OnTimedEvent(Object source, ElapsedEventArgs e){//清理内存GC.Collect();GC.WaitForPendingFinalizers();Process[] processes = Process.GetProcesses();foreach (Process process in processes){//以下系统进程没有权限,所以跳过,防止出错影响效率。 if ((process.ProcessName == "System") && (process.ProcessName == "Idle"))continue;try{EmptyWorkingSet(process.Handle);}catch{}}}}
C#中System.Timers.Timer定时器的使用和定时自动清理内存的应用相关推荐
- C# System.Timers.Timer中的坑,程序异常退出后timer依然运行问题
C# System.Timers.Timer中的坑,程序异常退出后timer依然运行问题 参考文章: (1)C# System.Timers.Timer中的坑,程序异常退出后timer依然运行问题 ( ...
- 在System.Timers.Timer的处理程序中调用MessageBox.Show()弹出的确是非模态的
MessageBox.Show()不应该都是模态的么?但是我在System.Timers.Timer的处理程序中调用MessageBox.Show()弹出的确是非模态的
- System.Timers.Timer与System.Threading.Timer
我最近一直在查看一些可能的计时器,而Threading.Timer和Timers.Timer对我来说是必要的(因为它们支持线程池). 我正在制作游戏,我计划使用不同类型的活动,间隔不同等. 哪个最好? ...
- 使用System.Timers.Timer类实现程序定时执行
在C#里关于定时器类有3个:System.Windows.Forms.Timer类.System.Threading.Timer类和System.Timers.Timer类. System.Windo ...
- System.Threading.Timer 定时器的用法
System.Threading.Timer 是C# 中的一个定时器,可以定时(不断循环)执行一个任务.它是在线程上执行的,具有很好的安全性.为此 .Net Framework 提供了5个重载的构造 ...
- [C#]System.Timers.Timer
摘要 在.Net中有几种定时器,最喜欢用的是System.Timers命名空间下的定时器,使用起来比较简单,作为定时任务,有Quartz.net,但有时候,一个非常简单的任务,不想引入这个定时任务框架 ...
- System.Timers.Timer 多线程问题[转]
已解决问题] System.Timers.Timer 多线程 ,同时首次进 声明: System.Timers.Timer timer = new System.Timers.Timer(); tim ...
- System.Windows.Forms.Timer与System.Timers.Timer的区别
.NET Framework里面提供了三种Timer: System.Windows.Forms.Timer System.Timers.Timer System.Threading.Timer VS ...
- System.Timers.Timer 嵌套 System.Windows.Forms.Timer的问题
如题"System.Timers.Timer 嵌套 System.Windows.Forms.Timer的问题",最近在项目中在类uc_Map中启用了System.Timers.T ...
最新文章
- 使用struts2制作后台中的问题记录
- 从一道面试题谈起,大厂到底看重程序员的什么能力?
- 使用上下文属性将C ++对象嵌入QML
- php form action跳转,form表单页面跳转方式提交练习
- html中foreach遍历list,foreach遍历----for(object o: list)
- Ubuntu 10怎样在VMware中按装Vmware tool及如何全屏(转)
- Html5的vedio视频播放
- 上海自考计算机及应用,上海交通大学--计算机及应用(独立本科080901)
- 海康8700等联网网关通过GB28181接入LiveGBS流媒体服务实现web端无插件直播
- 天若OCR文字识别软件
- Airprint across subnets(2)
- python调用谷歌地图api_python显示地图与谷歌地图
- 普通人跨考浙大计算机的经验贴(2019)
- C2248: QString::QString: 无法访问 private 成员(在 QString 类中声明)
- int和Interger区别
- Apache Zookeeper基本介绍
- 2015阿里实习生面试
- ubuntu(linux) 离线更新显卡驱动
- 汇编语言复习~作业一(下)
- 【C++ Primer 学习笔记】: 容器和算法之【泛型算法】