詳解C#中的System.Timers.Timer定時(shí)器的使用和定時(shí)自動清理內(nèi)存應(yīng)用
項(xiàng)目比較大有時(shí)候會比較卡,雖然有GC自動清理機(jī)制,但是還是有不盡人意的地方。所以嘗試在項(xiàng)目啟動文件中,手動寫了一個(gè)定時(shí)器,定時(shí)清理內(nèi)存,加快項(xiàng)目運(yùn)行速度。
public class Program { [DllImport("psapi.dll")] static extern int EmptyWorkingSet(IntPtr hwProc); //清理內(nèi)存相關(guān) static void Main() { //啟動定時(shí)清理內(nèi)存 SetTimer(); } /// <summary> /// 定時(shí)清理內(nèi)存 /// </summary> private static void SetTimer() { System.Timers.Timer aTimer = new System.Timers.Timer(); //初始化定時(shí)器 aTimer.Interval = 60000;//配置時(shí)間1分鐘 aTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent); aTimer.AutoReset = true;//每到指定時(shí)間Elapsed事件是到時(shí)間就觸發(fā) aTimer.Enabled = true; //指示 Timer 是否應(yīng)引發(fā) Elapsed 事件。 } //定時(shí)器觸發(fā)的處理事件 private static void OnTimedEvent(Object source, ElapsedEventArgs e) { //清理內(nèi)存 GC.Collect(); GC.WaitForPendingFinalizers(); Process[] processes = Process.GetProcesses(); foreach (Process process in processes) { //以下系統(tǒng)進(jìn)程沒有權(quán)限,所以跳過,防止出錯影響效率。 if ((process.ProcessName == "System") && (process.ProcessName == "Idle")) continue; try { EmptyWorkingSet(process.Handle); } catch { } } } }
以上所述是小編給大家介紹的C#中的System.Timers.Timer定時(shí)器的使用和定時(shí)自動清理內(nèi)存應(yīng)用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
C#實(shí)現(xiàn)身份證驗(yàn)證功能的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)身份證驗(yàn)證功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12C# 中的 is 真的是越來越強(qiáng)大越來越語義化(推薦)
這篇文章主要介紹了C# 中的 is 真的是越來越強(qiáng)大越來越語義化,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09c#操作sqlserver數(shù)據(jù)庫的簡單示例
這篇文章主要介紹了c#操作sqlserver數(shù)據(jù)庫的簡單示例,需要的朋友可以參考下2014-04-04C#中JSON轉(zhuǎn)為實(shí)體類和List以及結(jié)合使用
開發(fā)中經(jīng)常遇到將JSON字符串轉(zhuǎn)換為List的需求,下面這篇文章主要給大家介紹了關(guān)于C#中JSON轉(zhuǎn)為實(shí)體類和List以及結(jié)合使用的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01C#調(diào)用Matlab生成的dll方法的詳細(xì)說明
這篇文章詳細(xì)介紹了C#調(diào)用Matlab生成的dll方法,有需要的朋友可以參考一下2013-09-09C#中構(gòu)造函數(shù)和析構(gòu)函數(shù)用法實(shí)例詳解
這篇文章主要介紹了C#中構(gòu)造函數(shù)和析構(gòu)函數(shù)用法,結(jié)合實(shí)例形式詳細(xì)分析了C#中構(gòu)造函數(shù)與析構(gòu)函數(shù)的原理、定義、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-06-06C#調(diào)用百度API實(shí)現(xiàn)活體檢測的方法
這篇文章主要給大家介紹了關(guān)于C#調(diào)用百度API實(shí)現(xiàn)活體檢測的方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09