项目比较大有时候会比较卡,虽然有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定时器的使用和定时自动清理内存的应用相关推荐

  1. C# System.Timers.Timer中的坑,程序异常退出后timer依然运行问题

    C# System.Timers.Timer中的坑,程序异常退出后timer依然运行问题 参考文章: (1)C# System.Timers.Timer中的坑,程序异常退出后timer依然运行问题 ( ...

  2. 在System.Timers.Timer的处理程序中调用MessageBox.Show()弹出的确是非模态的

    MessageBox.Show()不应该都是模态的么?但是我在System.Timers.Timer的处理程序中调用MessageBox.Show()弹出的确是非模态的

  3. System.Timers.Timer与System.Threading.Timer

    我最近一直在查看一些可能的计时器,而Threading.Timer和Timers.Timer对我来说是必要的(因为它们支持线程池). 我正在制作游戏,我计划使用不同类型的活动,间隔不同等. 哪个最好? ...

  4. 使用System.Timers.Timer类实现程序定时执行

    在C#里关于定时器类有3个:System.Windows.Forms.Timer类.System.Threading.Timer类和System.Timers.Timer类. System.Windo ...

  5. System.Threading.Timer 定时器的用法

    System.Threading.Timer 是C# 中的一个定时器,可以定时(不断循环)执行一个任务.它是在线程上执行的,具有很好的安全性.为此  .Net Framework 提供了5个重载的构造 ...

  6. [C#]System.Timers.Timer

    摘要 在.Net中有几种定时器,最喜欢用的是System.Timers命名空间下的定时器,使用起来比较简单,作为定时任务,有Quartz.net,但有时候,一个非常简单的任务,不想引入这个定时任务框架 ...

  7. System.Timers.Timer 多线程问题[转]

    已解决问题] System.Timers.Timer 多线程 ,同时首次进 声明: System.Timers.Timer timer = new System.Timers.Timer(); tim ...

  8. System.Windows.Forms.Timer与System.Timers.Timer的区别

    .NET Framework里面提供了三种Timer: System.Windows.Forms.Timer System.Timers.Timer System.Threading.Timer VS ...

  9. System.Timers.Timer 嵌套 System.Windows.Forms.Timer的问题

    如题"System.Timers.Timer 嵌套 System.Windows.Forms.Timer的问题",最近在项目中在类uc_Map中启用了System.Timers.T ...

最新文章

  1. 使用struts2制作后台中的问题记录
  2. 从一道面试题谈起,大厂到底看重程序员的什么能力?
  3. 使用上下文属性将C ++对象嵌入QML
  4. php form action跳转,form表单页面跳转方式提交练习
  5. html中foreach遍历list,foreach遍历----for(object o: list)
  6. Ubuntu 10怎样在VMware中按装Vmware tool及如何全屏(转)
  7. Html5的vedio视频播放
  8. 上海自考计算机及应用,上海交通大学--计算机及应用(独立本科080901)
  9. 海康8700等联网网关通过GB28181接入LiveGBS流媒体服务实现web端无插件直播
  10. 天若OCR文字识别软件
  11. Airprint across subnets(2)
  12. python调用谷歌地图api_python显示地图与谷歌地图
  13. 普通人跨考浙大计算机的经验贴(2019)
  14. C2248: QString::QString: 无法访问 private 成员(在 QString 类中声明)
  15. int和Interger区别
  16. Apache Zookeeper基本介绍
  17. 2015阿里实习生面试
  18. ubuntu(linux) 离线更新显卡驱动
  19. 汇编语言复习~作业一(下)
  20. 【C++ Primer 学习笔记】: 容器和算法之【泛型算法】

热门文章

  1. burpsuite第一次爬行扫描
  2. Markdown如何空格和空行
  3. java知识竞赛题库_Java练习题库(含答案及解析)100题
  4. NBU 7.0异机恢复Linux备份文件的方法(一)
  5. 数据库被占用怎么办?
  6. Web前端--HTML+CSS+JS实现仿切水果小游戏
  7. Java入门之窗口关闭,巨巨巨详细!!!
  8. 23、IP地址的表示及分类
  9. 照相制版技术与图形转移技术
  10. Mac 的 Vim 如何使用系统剪切板